The WSIT Tutorial

BP 1.1 Conformance

JAX-WS 2.0 enforces strict Basic Profile 1.1 compliance. In one situation, the .NET framework does not enforce strict BP 1.1 semantics, and their usage can lead to interoperability problems.

In rpclit mode, BP 1.1, R2211 disallows the use of xsi:nil in part accessors: “An ENVELOPE described with an rpc-literal binding MUST NOT have the xsi:nil attribute with a value of "1" or "true" on the part accessors.”

From a developer perspective this means that in rpclit mode, JAX-WS does not allow a null to be passed in a web service method parameter.

//Java Web method
public byte[] retByteArray(byte[] inByteArray)
{
    return inByteArray;
}

<!-- In rpclit mode, the above Java web service method will throw an exception 
if the following XML instance with xsi:nil is passed by a .NET client.-->
<RetByteArray xmlns="http://tempuri.org/">
    <inByteArray a:nil="true" xmlns=""
        xmlns:a="http://www.w3.org/2001/XMLSchema-instance"/>
</RetByteArray>