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 "Nagesh Bhagwat (JIRA)" <ax...@ws.apache.org> on 2009/09/04 07:04:57 UTC

[jira] Updated: (AXIS-2804) Axis 1.4 library method return result which is incompatible with .net

     [ 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.