- 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