[ http://issues.apache.org/jira/browse/AXIS-2054?page=all ]

Dave Marquard updated AXIS-2054:
--------------------------------

    Attachment: EchoService.wsdl

The full WSDL for the echo example mentioned above.

> Axis sends xsi:nil for non-nillable, minOccurs=0 parameters
> -----------------------------------------------------------
>
>          Key: AXIS-2054
>          URL: http://issues.apache.org/jira/browse/AXIS-2054
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: current (nightly), 1.2
>     Reporter: Dave Marquard
>  Attachments: EchoService.wsdl, omit-parameter-patch.txt
>
> Axis always sends null parameters as XML elements with an xsi:nill="true" 
> attribute, even if the parameter is defined as non-nillable in the WSDL. For 
> example, consider the method:
> String echo(String parameter)
> that is represented in a Wrapped Document/Literal WSDL file as:
> <element name="echo">
>   <complexType>
>     <sequence>
>       <element name="parameter" type="xsd:string" minOccurs="0" 
> nillable="false"/>
>     </sequence>
>   </complexType>
> </element>
> when the service is invoked as echo(null), Axis sends the following SOAP body:
> <echo xmlns="http://DefaultNamespace";>
>   <parameter xsi:nil="true"/>
> </echo>
> which is invalid according to the WSDL file.
> Looking at the source, it looks like the problem is in 
> org.apache.axis.message.RPCParam.serialize(), which always passes true for 
> the "sendNull" parameter to SerializationContext.serialize(), regardless of 
> whether the parameter is nillable or not.
> I have attached a small patch that:
> 1. Adds an "omittable" attribute to the ParameterDesc metadata object, to 
> indicate whether a parameter has a minimum occurrence of 0 or not.
> 2. Changes RPCParam to inspect this property, and to indicate to 
> SerizationContext to not send null if a parameter is omittable.
> 3. Changes JavaStubWriter in WSDL2Java to generate calls to the new 
> ParameterDesc.setOmittable() method for parameters with a minimum occurrence 
> of 0.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to