You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Lilantha Darshana <Li...@virtusa.com> on 2003/07/16 08:11:46 UTC
Interoperability test for user define data types in Axis C++
Hi all,
I'm trying to support user define data types for Axis C++. My server side is
axis-java.
But when I request "echoStruct" for samples.echo.* with the envelop.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns3:echoStruct xmlns:ns3="http://soapinterop.org/xsd">
<SOAPStruct xsi:type="ns3:SOAPStruct">
<varString xsi:type="xsd:string">Hello World</varString>
<varInt xsi:type="xsd:int">100</varInt>
<varFloat xsi:type="xsd:float">10.000000</varFloat>
</SOAPStruct>
</ns3:echoStruct>
</soapenv:Body>
</soapenv:Envelope>
The server replies with envelop:
<?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:echoStructResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://soapinterop.org/">
<return href="#id0"/>
</ns1:echoStructResponse>
<multiRef id="id0" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:SOAPStruct"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns2="http://soapinterop.org/xsd">
<varString xsi:type="xsd:string">Hello World</varString>
<varInt xsi:type="xsd:int">100</varInt>
<varFloat xsi:type="xsd:float">10.0</varFloat>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
Which has multiRef element!!
But when I use the axis-java (as client) sample's test for interoperability.
The Sample send the following SOAP envelop with multi-references.
<?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:echoStruct
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://soapinterop.org/">
<inputStruct href="#id0"/>
</ns1:echoStruct>
<multiRef id="id0" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:SOAPStruct"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns2="http://soapinterop.org/xsd">
<varString xsi:type="xsd:string">Hello</varString>
<varInt xsi:type="xsd:int">5</varInt>
<varFloat xsi:type="xsd:float">103.0</varFloat>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
I guess I should not need to send multi-reference SOAP envelop for user
define
types SOAPStruct. To make my C++ client interoperable could somebody tell me
whether I need to support multiref in my client code??
regards
Lilantha
Re: [AXIS-C++] Re: Interoperability test for user define data types in Axis C++
Posted by Sanjiva Weerawarana <sa...@watson.ibm.com>.
"Aleksander Slominski" <as...@cs.indiana.edu> writes:
>
> i think AXIS will accept simple serialization without multi-refs however
> if you get back response you need to consider that it can contain
> multirefs (depending how AXIS service is configured and deployed) and
> either process them or report eaningful error ("mult-refs nto supported
> yet") ...
IMO Axis/C++ should focus only on SOAP 1.2 and only support those
features of SOAP 1.1 which are similar. I'd say multiref stuff
is not one of them as they're pretty much toast in 1.2.
Yes that will mean it'll fail all the interop tests that do test
multiref respones. I'm not sure that's a big deal .. I don't think
many people actually use it in reality.
Does anyone know what WS-I BP says about multiref?
Sanjiva.
[AXIS-C++] Re: Interoperability test for user define data types in
Axis C++
Posted by Aleksander Slominski <as...@cs.indiana.edu>.
Lilantha Darshana wrote:
>I guess I should not need to send multi-reference SOAP envelop for user
>define
>types SOAPStruct. To make my C++ client interoperable could somebody tell me
>
>whether I need to support multiref in my client code??
>
hi,
i think AXIS will accept simple serialization without multi-refs however
if you get back response you need to consider that it can contain
multirefs (depending how AXIS service is configured and deployed) and
either process them or report eaningful error ("mult-refs nto supported
yet") ...
alek
--
If everything seems under control, you're just not going fast enough. —Mario Andretti