You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@ws.apache.org by Sam Ruby <ru...@us.ibm.com> on 2002/04/29 15:01:26 UTC

Re: Axis: interop

SOAP-DEV:

   Would it be possible for SOAP 2.3 to support xsi:nil when 2001 schema is
   specified?

Peter/Thomas:

   I just committed a change to Axis which should insert xsi:type on
   elements which contain xsi:nil attributes.  This is not a complete
   solution as Apache SOAP 2.2 will interpret such strings as "" instead of
   null.  For other datatypes,  you may see errors such as
   java.lang.NumberFormatException.

   You should also be able to achieve similar results without the Axis
   change by adding an isd:map entry in your deploymentDescriptor.xml for
   :charSet.  I would recommend doing this for interop reasons with non
   Apache SOAP stacks which may not insert xsi:type.

   For interop tests including xsi:nil, you might want to look
   http://www.jin.gr.jp/~nahi/Ruby/SOAP4R/wiki.cgi?cmd=view;name=InteropResults

- Sam Ruby


Peter Fischer3/Germany/IBM@IBMDE on 04/29/2002 05:57:22 AM

To:    Sam Ruby/Raleigh/IBM@IBMUS
cc:    Thomas Schaeck/Germany/IBM@IBMDE
Subject:    Axis: interop



Hi Sam,

i am developing the WebServices part of the IBM Portal where portlets can
be invoked remotely via SOAP.
At the moment i am using SOAP 2.2 but i just started playing around with
Axis.
Now i've tried to port the client first to use Axis but i am running into
an interop problem with null values with the existing server that is still
using SOAP 2.2 regarding null values:

while the SOAP2.2 client encodes the null values containing the type of the
null value like: <charSet xsi:type="xsd:string" xsi:null="true"/>
the Axis client just transferes the nil value: <charSet xsi:nil="true"/>

This is an interoperability problem as the server did not necessarily have
to specify how to (de)serialize simple types as strings for SOAP 2.2 - and
that's the way how we shipped the Portal Server.  If i want to use an Axis
client with an old SOAP2.2 based version of the portal it will not work as
it does not know how to handle untyped values: No Deserializer found to
deserialize a ':charSet' using encoding style
'http://schemas.xmlsoap.org/soap/encoding/'

Now here my questions:

- Is there a way to configure Axis to add the types to null values?
Otherwise i would report that as a defect via bugzilla...
- Could you please add null values to the Axis interop tests?

Thanks, Peter

___________________________________________________________________
IBM WebSphere Portal Development Boeblingen, Germany
Phone: ++49-7031-16-4497
eMail: peter.fischer@de.ibm.com