xsd:nillable is used on the XML schema while xsi:nil is used on the XML instance data.

When you specify nillable="true" on the schema, it means that the element can be null (or marked with xsi:nil="true" / xsi:nil="1" on the wire). It does not mea ns that the element is optional and can be omitted. If this is what you want, th en you should use minOccurs="0" in your XML schema definition. That said, the JAX-RPC implementation provided with AS 10.1.3.x releases do not enforce all the XML schema constructs, as this has been the root cause of many i nteroperability issues in the past with Axis or .NET implementations.

How to Use Java Null Values in Bottom Up Mapping It is good practice not to rely on any mapping from Java null values to XML nil values. Special care needs to be taken in the RPC case. * In RPC-literal message format, null parameter values cannot be mapped to n il values. * In RPC-encoded message format, SOAP-encoded type values can preserve nil. * In all cases where a value type (Java Bean) is used as a parameter, you sh ould not use Java null values.