(This is a question about client-side deSerialization
with Axis-C++, release 1.4):

My Axis-Java server returns the following XML:

<soapenv:Envelope
 xmlns:soapenv=
 "http://schemas.xmlsoap.org/soap/envelope/";
 xmlns:xsd="http://www.w3.org/2001/XMLSchema";         
                     
 xmlns:xsi=
 "http://www.w3.org/2001/XMLSchema-instance";>
<soapenv:Body>
 <ns1:getIssueResponse
  soapenv:encodingStyle=
  "http://schemas.xmlsoap.org/soap/encoding/";         
  xmlns:ns1=
  "http://localhost:8080/axis/services/DataService";>
  <getIssueReturn xsi:type="ns2:IssueRecord"  
   xmlns:ns2="urn:DataService">
   <ISSD xsi:type="soapenc:string" 
    xmlns:soapenc=
    "http://schemas.xmlsoap.org/soap/encoding/";
    >blah</ISSD>
  </getIssueReturn>
 </ns1:getIssueResponse>
</soapenv:Body>
</soapenv:Envelope>

The (Axis-C++) SoapDeSerializer class chokes on the
<ISSD> element, because, evidently, it is expecting
the qname specified in the xsi:type attribute to be in
the "http://www.w3.org/2001/XMLSchema"; (XSD_URI)
namespace, not the
"http://schemas.xmlsoap.org/soap/encoding/"; (XSD_ENC)
namespace.  I can't haven't found any documentation to
indicate how to control this behavior.

Thanks,
Robert


                
__________________________________ 
Do you Yahoo!? 
Meet the all-new My Yahoo! - Try it today! 
http://my.yahoo.com 
 

Reply via email to