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?
>