Chris's Rants

Thursday, May 12, 2005

Re: Another comment about WS-I BP and WS-*

Kirill writes in his post Another comment about WS-I BP and WS-*:
Another issue with using BP for WS-* and app protocols going forward is BP1.1 R2710 and the definition of the “wire signature“.

R2710 The operations in a wsdl:binding in a DESCRIPTION MUST result in wire signatures that are different from one another.

The Profile defines the 'wire signature' of an operation in a wsdl:binding to be the fully qualified name of the child element of the soap:Body of the SOAP input message it describes. For the case of an empty soap:Body this name is an empty string.

The goal I believe was to allow to differentiate incoming soap messages based on the message content itself. An unfortunate side effect is that Profile singles out Body, but does not treat headers targeted at the ultimate destination as part of the wire signature.
I couldn't agree more. I fought long and hard (before I became chair) against the myopic rpc-centric mindset that lead to R2710.


  • This R2710 is proving to be another indirect hindrance to trend I've seen in modeling scenarios. Often times, folks will have porttypes that model a scenario as both request-response as well as two one-way transactions. This way implementers can choose whether to work Req-Res or async with oneways. Where R2710 comes in is that the initial message request in both the 2-way and the one-way operations are the same, so the wire signature is the same. Now having them in a separate porttype saves you from violation of R2710 (which I understand is limited to uniqueness within a port type only) but some tools are wanting uniqueness across the entire wsdl.

    By Anonymous Anonymous, at May 04, 2006 3:06 PM  

Post a Comment

<< Home