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 ':name' using encoding style > 'http://schemas.xmlsoap.org/soap/encoding/'.; > 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