[ 
https://issues.apache.org/jira/browse/AXIS-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nagesh Bhagwat updated AXIS-2804:
---------------------------------

    Summary: Axis 1.4 library method return result which is incompatible with 
.net  (was: Axis 1.4 library method return result with are incompatible with 
.net)

> Axis 1.4 library method return result which is incompatible with .net
> ---------------------------------------------------------------------
>
>                 Key: AXIS-2804
>                 URL: https://issues.apache.org/jira/browse/AXIS-2804
>             Project: Axis
>          Issue Type: Bug
>    Affects Versions: 1.4
>         Environment: All the Platform
>            Reporter: Nagesh Bhagwat
>            Priority: Blocker
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> Currently IBM Tivoli Directory Integrator v6.1.1 ships the Axis 1.4 Library.
> We have an web Service, One of web service method requires "String of Array" 
> as an Argument.
> We get the parameter using following API
> ParameterDesc param = (ParameterDesc) parameters.get(i);
> Param = 
> name:       userNames
> typeEntry:  null
> mode:       IN
> position:   3
> isReturn:   false
> typeQName:  
> {http://www.opsware.com/osapi/2.2/com/opsware/ws/ejb/SecurityWebService}ArrayOf_xsd_string
> javaType:   null
> inHeader:   false
> outHeader:  false
> When we pass this parameter to Axis method for setting the Parameter 
> description as follow
> rpcParam.setParamDesc(param);
> rpcParam Value before execution :-
> rpcParam = <userNames soapenc:arrayType="xsd:string[4]" 
> xsi:type="soapenc:Array" xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><userNames 
> xsi:type="xsd:string">s1</userNames><userNames 
> xsi:type="xsd:string">s2</userNames><userNames 
> xsi:type="xsd:string">s3</userNames><userNames 
> xsi:type="xsd:string">s4</userNames></userNames>
> rpcParam Value After execution:-
> rpcParam = <userNames soapenc:arrayType="ns1:ArrayOf_xsd_string[4]" 
> xsi:type="soapenc:Array" 
> xmlns:ns1="http://www.opsware.com/osapi/2.2/com/opsware/ws/ejb/SecurityWebService";
>  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><userNames 
> xsi:type="xsd:string" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>s1</userNames><userNames 
> xsi:type="xsd:string" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>s2</userNames><userNames 
> xsi:type="xsd:string" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>s3</userNames><userNames 
> xsi:type="xsd:string" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>s4</userNames></userNames>
> So the Above API which is generated SOAP Envelop in this format, which not 
> not compatible with Web Service that we are using it.
> Resultant SOAP Request generated by TDI 6.1.1 is 
> Request :-
> <?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:assignUsers 
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
> xmlns:ns1="http://www.opsware.com/osapi/2.2/com/opsware/ws/ejb/SecurityWebService";>
>    <adminUserName xsi:type="xsd:string">tsh8069</adminUserName>
>    <adminPassword xsi:type="xsd:string">opsware</adminPassword>
>    <roleName xsi:type="xsd:string">ITIM Test Role</roleName>
>    <userNames soapenc:arrayType="ns1:ArrayOf_xsd_string[1]" 
> xsi:type="soapenc:Array" 
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
>     <userNames xsi:type="xsd:string">traceyh</userNames>
>    </userNames>
>   </ns1:assignUsers>
>  </soapenv:Body>
> </soapenv:Envelope>
> Response :-
> <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>
>       <soapenv:Fault>
>          <faultcode>soapenv:Client</faultcode>
>          <faultstring>No such operation 'assignUsers'</faultstring>
>          <detail/>
>       </soapenv:Fault>
>    </soapenv:Body>
> </soapenv:Envelope>
> Where are in case of IBM Tivoli Directory Integrator 6.0, which ships Axis 
> 1.1 Library with it.
> API - rpcParam.setParamDesc(param);
> This doesn't change the SOAP Envelop format after the execution of this API
> Resultant SOAP generation in case of Axis 1.1 is 
> Request :-
> <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:assignUsers 
> xmlns:ns1="http://www.opsware.com/osapi/2.2/com/opsware/ws/ejb/SecurityWebService";>
>    <adminUserName xsi:type="xsd:string">tsh8069</adminUserName>
>    <adminPassword xsi:type="xsd:string">opsware</adminPassword>
>    <roleName xsi:type="xsd:string">ITIM Test Role</roleName>
>    <userNames xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[1]" 
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
>     <item>traceyh1</item>
>    </userNames>
>   </ns1:assignUsers>
>  </soapenv:Body>
> </soapenv:Envelope>
> Response;-
> <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 
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
>       <ns1:assignUsersResponse 
> xmlns:ns1="http://www.opsware.com/osapi/2.2/com/opsware/ws/ejb/SecurityWebService";>
>          <assignUsersResponse xsi:type="xsd:string">&lt;ITIM Test Role> was 
> assigned to users [traceyh1]</assignUsersResponse>
>       </ns1:assignUsersResponse>
>    </soapenv:Body>
> </soapenv:Envelope>
> From this its clear that, axis 1.1 does work fine but axis 1.4 has some 
> incompatibility issue with .net specially when we are passing String Array as 
> argument to web service.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to