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