Costin Manolache wrote:
> 
> After updating apacheSOAP to the latest version - it
> seems it detects nil corectly, and it has another problem.
> 
> What apacheSOAP sends is:
> <name xsi:type="xsd:string" xsi:null="true"/>
> 
> What Axis sends:
> <name xsi:nil="true"/>
> 
> ApacheSOAP doesn't accept this input, since the type is missing
> ( xsd:string ) - so it fails with:
> 
> No mapping found for &apos;:name&apos; using encoding style
> &apos;http://schemas.xmlsoap.org/soap/encoding/&apos;.;
> targetException=java.lang.IllegalArgumentException: No mapping found for
> ':name' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.]
> 
>                   at org.apache.soap.rpc.Call.invoke(Call.java:296)

So, provide a mapping for :name to String.  For an example of how to do 
so, take a look at 
http://cvs.apache.org/viewcvs.cgi/xml-soap/java/samples/interop/DeploymentDescriptor.xml

Note: the syntax by which you do this with Apache SOAP is invalid XML. 
This means that you can't browse this example using modern browsers 
(e.g. IE6 or Mozilla 1.0) or use Xerces 2.0.  However, this error is not 
caught by Crimson or Xerces 1.x.

For more details, see 
http://marc.theaimsgroup.com/?l=soap-dev&m=101283660613843&w=2

> I have no idea who is right and who is wrong, but it's very
> scarry.

Per the SOAP specification, xsi:type is optional.  However, in April, I 
did add the code to Axis to add this information.

- Sam Ruby

Reply via email to