- From: Phil Adams <phil_adams@us.ibm.com>
- Date: Tue, 24 Jun 2008 16:53:34 -0500
- To: public-soap-jms@w3.org
- Message-ID: <OF5B21E53A.18ADCDEE-ON86257472.007622FA-86257472.007842EC@us.ibm.com>
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