You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Xavier Toth <tx...@gmail.com> on 2005/09/15 00:49:36 UTC

java client c++ server doesn't work

I built a java client for the c++ Calculator sample service with the axis 
tools but it cause the server to generate a segmentation violation. 
I used tcpmon to capture the soap from a java client generated with 
axis-wsdl2java which fails and a c++ client that works:
<?xml version="1.0" encoding="UTF-8"?>
<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:add soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:ns1="http://localhost/axis/Calculator">
<in0 href="#id0"/>
<in1 href="#id1"/>
</ns1:add>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:int" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">1</multiRef>
<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:int" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">2</multiRef>
</soapenv:Body>
</soapenv:Envelope>

c++ client soap request:
<?xml version='1.0' encoding='utf-8' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:add xmlns:ns1="http://localhost/axis/Calculator">
<in0 xsi:type="xsd:int">1</in0>
<in1 xsi:type="xsd:int">2</in1>
</ns1:add>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

I'm a bit surprised that java clients and c++ servers won't work together 
since these are both axis based. Is there something I could do when 
generating the java client to get it to generate compatible soap? I'm 
guessing that this is a c++ issue with href in the argument elements in0 and 
in1?

Re: java client c++ server doesn't work

Posted by Xavier Toth <tx...@gmail.com>.
Sorry I found the pervious posting and adding :
((org.apache.axis.client.Stub)binding)._setProperty(
org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
to the java client and solved the problem.


On 9/14/05, Xavier Toth <tx...@gmail.com> wrote:
> 
> I built a java client for the c++ Calculator sample service with the axis 
> tools but it cause the server to generate a segmentation violation. 
> I used tcpmon to capture the soap from a java client generated with 
> axis-wsdl2java which fails and a c++ client that works:
> <?xml version="1.0" encoding="UTF-8"?>
> <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:add soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
> xmlns:ns1="http://localhost/axis/Calculator ">
> <in0 href="#id0"/>
> <in1 href="#id1"/>
> </ns1:add>
> <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="
> http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:int" 
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"<http://schemas.xmlsoap.org/soap/encoding/%22>
> >1</multiRef>
> <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="
> http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:int" 
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"<http://schemas.xmlsoap.org/soap/encoding/%22>
> >2</multiRef>
> </soapenv:Body>
> </soapenv:Envelope>
> 
> c++ client soap request:
> <?xml version='1.0' encoding='utf-8' ?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="
> http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="
> http://www.w3.org/2001/XMLSchema" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance">
> <SOAP-ENV:Body>
> <ns1:add xmlns:ns1="http://localhost/axis/Calculator">
> <in0 xsi:type="xsd:int">1</in0>
> <in1 xsi:type="xsd:int">2</in1>
> </ns1:add>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> 
> I'm a bit surprised that java clients and c++ servers won't work together 
> since these are both axis based. Is there something I could do when 
> generating the java client to get it to generate compatible soap? I'm 
> guessing that this is a c++ issue with href in the argument elements in0 and 
> in1?
>