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