[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Same document payloads and the WS-I Basic Profile
A while back my organisation decided to use the ebXML MS (2.0) specification as part of the set of messaging protocols for conducting B2B transactions. There were a lot (we thought) of good reasons for this choice not least of which was that all at version 2.0, ebXML MS can be considered a mature specification with all of the features that we were looking for. Dick Brooks and Ian Jones did me the kindness of an on-site presentation and that sealed it. We certainly did not want to re-invent wheels in this area. Anyway, one the down sides we found when talking to organisations wanting to consume our web services was that they very often were using toolkits that had no support either for ebXML MS itself or for the SwA/multipart related MIME format specified for ebXML message exchanges. Typically they had/have little in-house IT resource (or desire) for writing something bespoke. This is of course quite understandable, most of our business partners are not IT organisations and don't want to committ to higher spend for internal skills or contractors. With that and IBM and Microsoft being so 'down' on ebXML (I tried quite hard leveraging our corporate account managers from both of them - but no interest at all) it created a bit of a dilema. We found however, that most/all of these organisations could put together a basic SOAP compliant message with the appropriate ebXML headers, so we decided to simplify their task by allowing them to pass the business data payload(s) within the same document that contains the manifest (primary part). It was my intention nonetheless to support the 'spirit' of the ebXML MS spec, so implementors are required to provide URIs to the payload(s) in the manifest 'Reference/@href' that indicate same document locations as described by RFC2396 - Uniform Resource Identifiers (URI): Generic Syntax (sections 4.1 Fragment Identifier and 4.2 Same-document References). I believed (perhaps wrongly) that whereas the ebXML MS spec does recommend use of the SwA/MIME packaging mechanism described it does not mandate it ?? In any event, our approach unfortunately appears to have slightly 'back fired'. I noted recently that the WS-I Basic Profile explicitly disallows a document/literal message to include more than one part within the SOAP Body binding (recommendation R2201). Thus the snippets below I think would be invalid (ebXML namespaces omitted for bevity). Have we (I) made a complete 'pish' of this implementation. What does the group suggest as the correct course of action ?? Thanks Fraser. WSDL snippet :- ..... <message name="PropertyRFP_In"> <part name="Manifest" element="tns:Manifest"/> <part name="Payload" element="ppp:Transaction"/> </message> <message name="PropertyRFP_Out"> <documentation>Response message contains an empty SOAP:Body - no parts defined</documentation> </message> <portType name="PropertyRFP_PT"> <operation name="PaymentRequest"> <input message="tns:PropertyRFP_In"/> <output message="tns:PropertyRFP_Out"/> </operation> </portType> <binding name="PropertyRFP_Bin" type="tns:PropertyRFP_PT"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="PaymentRequest"> <soap:operation soapAction="http://www.xxx.co.uk/PropertyRFP" style="document"/> <input> <soap:body parts="Manifest Payload" use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> .... Message snippet :- <SOAP:Envelope> .... <SOAP:Body> <Manifest> <Reference xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#CDUK000001" xlink:role="xxx-uk.co.uk/xmlstds/RFP/role.htm"> <Schema version="1.01" location="http://xxx-co.uk/ContentsRFP ContentsRFP.xsd"/> </Reference> <Reference xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#CDUK000002" xlink:role="xxx-uk.co.uk/xmlstds/RFP/role.htm"> <Schema version="1.01" location="http://xxx-co.uk/PropertyRFP PropertyRFP.xsd"/> </Reference> </Manifest> <php:Transaction xmlns:php="http://xxx-.co.uk/ContentsRFP" Id="CDUK000001" TransactionName="ContentsRFP" MessageVersion="01_01"> <TransDate>2002-07-25</TransDate> <TransEffectiveDate>2002-07-25</TransEffectiveDate> ... </php:Transaction> <ppp:Transaction xmlns:ppp="http://www.xxx-co.uk/PropertyRFP" Id="CDUK000002" TransactionName="ContentsRFP" MessageVersion="01_01"> <TransDate>2002-07-25</TransDate> <TransEffectiveDate>2002-07-25</TransEffectiveDate> ... </ppp:Transaction> </SOAP:Body> </SOAP:Envelope> _________________________________________________________________ Hotmail messages direct to your mobile phone http://www.msn.co.uk/msnmobile
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC