Action item from 6/24 call

Hi everyone,
I took an action item from today's call:
 
[NEW] ACTION: Phil to write a proposal of the text that should appear in 
each section of the spec. 
  [recorded in http://www.w3.org/2008/06/24-soap-jms-minutes.html#action01
]


Here is a marked up version of sections 2.2.2 and 2.2.3.   My proposed 
changes are preceded by a ">".
It seems like it would be best to mention the JMS api calls in these two 
sections only.   In other sections where
we talk about these properties in various ways, it would just make things 
sound redundant if we repeated
the JMS api information there.

*********************************************************************************

2.2.2 JMS Message Header properties

This set of properties provide information that will set the values of
corresponding JMS Header fields. This specification assumes that the JMS
provider validates the values set for the respective message header 
properties,
rather than being explicitly constrained by this specification.


[Definition: soapjms:deliveryMode] (xsd:string)

        * indicates whether the request message is persistent or not. The 
valid
          values are "PERSISTENT" and "NONPERSISTENT". The default value 
is
          "PERSISTENT" (defaulted by JMS)

        * optional in URI, optional in WSDL, optional in environment

        * if specified MUST appear in the JMS message in the header named
          JMSDeliveryMode. If the value of this property is "PERSISTENT" 
then
          the JMSDeliveryMode integer value MUST be set to
          DeliveryMode.PERSISTENT. If the value of this property is
          "NONPERSISTENT" then the JMSDeliveryMode integer value MUST be 
set to
          DeliveryMode.NONPERSISTENT.
 
>       * The JMSDeliveryMode header may be set by using one of the 
following:
>            - The javax.jms.Message.setJMSDeliveryMode() method.
>            - the "deliveryMode" parameter of the
>              javax.jms.MessageProducer.send(), 
javax.jms.QueueSender.send(),
>              or javax.jms.TopicPublisher.publish() method.


[Definition: soapjms:timeToLive] (xsd:long)

        * the lifetime, in milliseconds, of the request message. A value 
of 0
          indicates an infinite lifetime. The default value is 0 
(defaulted by
          JMS)

        * optional in URI, optional in WSDL, optional in environment.

        * if specified, this is used to generate the value of the JMS 
header
          JMSExpiration.

>       * The JMSExpiration header may be set by using the "timeToLive" 
parameter
>         of the javax.jms.MessageProducer.send(), 
javax.jms.QueueSender.send(),
>         or javax.jms.TopicPublisher.publish() method.


[Definition: soapjms:priority] (xsd:int)

        * the JMS priority associated with the request message. Valid 
values are
          integers between 0 (lowest priority) and 9 (highest priority). 
The
          default value is 4 (defaulted by JMS).

        * optional in URI, optional in WSDL, optional in environment

        * if specified MUST appear in the JMS message in the header named 
JMSPriority.

>       * The JMSPriority header may be set by using one of the following:
>            - The javax.jms.Message.setJMSPriority() method.
>            - the "priority" parameter of the
>              javax.jms.MessageProducer.send(), 
javax.jms.QueueSender.send(),
>              or javax.jms.TopicPublisher.publish() method.


[Definition: soapjms:replyToName] (xsd:string)

        * Specifies the name of the destination to which a response 
message
          should be sent. If the replyToName property has a value it is 
used to
          lookup a destination using the lookupVariant. If the variant is
          "jndi", this is the Java Naming and Directory Interface (JNDI) 
name of
          the destination (queue or topic). If the variant is "context", 
then
          the name is discovered via application context.

        * optional in URI, optional in WSDL, optional in environment

        * if specified, this is used to derive the value to be used in the 
JMS
          header JMSReplyTo
 
>       * the JMSReplyTo header may be set by using the
>         javax.jms.Message.setJMSReplyTo() method.





2.2.3 JMS Message properties

[Definition: soapjms:targetService] (xsd:string)

        * Used by the service implementation to dispatch the service 
request.

        * optional in URI

        * if specified MUST appear in the JMS message in the JMS property 
named
          SOAPJMS_targetService. 

>       * The javax.jms.Message.setStringProperty() method should be used 
to set
>         this value on the JMS message.


[Definition: soapjms:bindingVersion] (xsd:string)

        * Specifies the version of SOAP JMS binding that is being used.

        * fixed value "1.0" in the implementation, MUST appear in a JMS 
property
          named SOAPJMS_bindingVersion.
          [Definition: Fault subcode unrecognizedBindingVersion if the 
value of this property does not match the fixed value.,F]

(B>    * The javax.jms.Message.setStringProperty() method should be used 
to set
>         this value on the JMS message.


[Definition: soapjms:contentType] (xsd:string)

    Note that the contentType value also indicates the MIME type of the 
primary
    message payload. This message property, then, identifies whether the 
message
    payload uses SOAP 1.1, SOAP 1.2, SOAP Messages With Attachments [SOAP
    Messages with Attachments] or MTOM [SOAP 1.1 Binding for MTOM 1.0] 
[SOAP
    MTOM] as the primary payload.


        * Describes the content of the SOAP message, this has the same 
values as
          the MIME Content-Type specified for a SOAP message over HTTP 
[IETF RFC
          2045].

        * If the value of the property is text/xml or 
application/soap+xml, a
          charset parameter may be present; if the value of the property 
is
          multipart/related, a type parameter may be present.

        * if the charset parameter is specified it is checked to ensure 
that it
          matches the encoding value from the supplied XML. If there is a
          mismatch then a fault is generated. 
          [Definition: Use fault subcode contentTypeMismatch in the event 
that the values do not match.]

        * if no charset parameter is supplied the charset MUST be inferred 
using
          the rules defined in appendix F, Autodetection of Character 
Encodings
          , [XML 1.0].

        * the type parameter MUST reflect the value specified in the
          Content-type part header for the first part (the SOAP body, so
          text/xml or application/xop+xml).

        * MUST appear in the JMS message in the JMS property named
          SOAPJMS_contentType.
          [Definition: Use fault subcode missingContentType if the 
SOAPJMS_contentType property is missing.]

>       * The javax.jms.Message.setStringProperty() method should be used 
to set
>         this value on the JMS message.


[Definition: soapjms:soapAction] (xsd:anyURI)

        * as with SOAP/HTTP

        * optional in WSDL, optional in environment

        * if specified MUST appear in the JMS message in the JMS property 
named
          SOAPJMS_soapAction.

        * if using SOAP 1.2, and the contentType property has an action
          parameter, that parameter value MUST match this 
SOAPJMS_soapAction
          value.
          [Definition: Use fault subcode mismatchedSoapAction if the SOAP 
1.2 action does not match.] 

>       * The javax.jms.Message.setStringProperty() method should be used 
to set
>         this value on the JMS message.


[Definition: soapjms:isFault] (xsd:boolean)

        * This property indicates whether a SOAP/JMS message is a fault. 
For
          senders, this property should be set to true when responding 
with a
          SOAP fault. When this property is true, the sending software 
should
          include a JMS property named SOAPJMS_isFault with a value of 1.

        * For receivers, this property is derived from the JMS property 
named
          SOAPJMS_isFault if present and containing a value of 1, the 
value of
          soapjms:isFault is true. If omitted, or present with a value of 
0, the
          value of soapjms:isFault is false.

>       * The javax.jms.Message.setBooleanProperty() method should be used 
to set
>         this value on the JMS message.


[Definition: soapjms:requestURI] (xsd:string)

        * Specifies the JMS URI of the service. The client MUST create 
this
          property which is derived from the supplied URI. The client MUST
          remove the targetService query parameter if specified; SHOULD 
remove
          JMS Message Header properties; and MAY remove other query 
parameters
          (for example client security related properties).

        * a required property

        * MUST appear in the JMS message in the JMS property named
          SOAPJMS_requestURI.
          [Definition: Use fault subcode missingRequestURI if the 
SOAPJMS_requestURI is missing from the message.] 

>       * The javax.jms.Message.setStringProperty() method should be used 
to set
>         this value on the JMS message.


***********************************************************************************************************************************

Phil Adams 
WebSphere Development - Web Services
IBM Austin, TX
email: phil_adams@us.ibm.com
office: (512) 838-6702  (tie-line 678-6702)
mobile: (512) 750-6599

Received on Tuesday, 24 June 2008 21:54:17 UTC