OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Issue 87 - Rough draft of proposal to vote


WSDL 1.1 provides no mechanism to specify optional message parts. This 
means that optional parts of messages, such as optional SOAP headers, 
cannot be described using WSDL. Below is a solution based on the 
approach WSDL 2.0 is taking to solve the same problem.

Proposed Text:

14.9 Application Data

Application data is data transmitted in a message outside of the normal 
message channel, specifically data in a message that is not bound to a 
WSDL message part.

To enable BPEL processes to access application data the from-spec is 
extended to include:

<from appDataForMessage="ncname"/>

The value of the appDataForMessage attribute MUST be the name of a WSDL 
message type variable. The output of this from-spec will always follow 
the schema:

bpws:applicationData
	xs:any *

The application data will be recorded inside of the applicationData XML 
element.

To enable BPEL processes to set application data the to-spec is extended 
to include:

<to appDataForMessage="ncname"/>

The schema of the data assigned using this to-spec MUST follow the 
previously defined schema.

When a message is received by the BPEL process any application data 
associated with the message MUST be made available via the application 
data from-spec. The exact means by which application data is retrieved 
from a message is binding specific and the binding definition has final 
say as to what data will appear as application data but in general any 
parts of the incoming message that do not have bindings to specific WSDL 
message parts are considered application data. Similarly when a message 
is sent if any application data has been associated with the message 
then the application data MUST be sent with the outgoing message using 
the rules defined for the particular binding in use.

In the specific case of a message received via a SOAP based binding the 
applicationData value associated with the received BPEL WSDL message 
type variable MUST contain any SOAP headers that do not have bindings to 
message parts in the WSDL used to receive the message. Each SOAP header 
not otherwise bound to a WSDL message part MUST be copied into the 
application data structure in the relative document order the headers 
appeared in the SOAP message.

Similarly if a message is sent via a SOAP based binding then any values 
in the applicationData MUST be copied into the SOAP message's header 
block in document order. The exact place where the headers will be 
inserted into the header block is application specific but SHOULD 
generally be after the SOAP headers defined via a binding in the 
outgoing message's WSDL message definition.

Any application data associated with a WSDL message type variable is 
replaced with application data from the incoming message, if any, 
whenever that variable is used to receive a new message.


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]