[ http://issues.apache.org/jira/browse/AXISCPP-1000?page=all ]
nadir amra reassigned AXISCPP-1000:
-----------------------------------
Assignee: nadir amra
> Axis C++ 1.6 beta can't handle array return type correctly?
> -----------------------------------------------------------
>
> Key: AXISCPP-1000
> URL: http://issues.apache.org/jira/browse/AXISCPP-1000
> Project: Axis-C++
> Issue Type: Bug
> Components: Client - Stub
> Affects Versions: 1.6 Final
> Environment: Windows 2000 professional.
> VC 6.0
> Java Webservice server.
> Reporter: ivan wang
> Assigned To: nadir amra
> Priority: Critical
>
> Dears:
> I got a problem when I want to get an array type by invoking Java
> webservice on windows, Java webservice returned soap message is correctly,
> but my client can't deserialize the returned soap message and return empty
> array(size is 0).
> I noticed that in SoapDeSerializer.cpp, line 922,
> if(strcmp(elementName, pName) != 0)
> {
> pArray->addElement(getCmplxObject(pDZFunct, pCreFunct, pDelFunct,
> pName, pNamespace));
> }
> else
> {
> {
> #ifdef ENABLE_AXISTRACE
> if (axiscpp::AxisTrace::isTraceOn())
>
> axiscpp::AxisTrace::traceExit("SoapDeSerializer",
> "deserializeEncodedComplexArray", NULL, 0);
> #endif
> return;
> }
> Only if strcmp returns not 0, then it will add an element into array,
> but here, elementName is string "enumServiceReturn" and "pName" is string
> "enumServiceReturn" too, then It won't add an element into array, and return
> directly, why elementName can't equalt to pName ?
> I think "if(strcmp(elementName, pName) != 0)" may should be
> "if(strcmp(elementName, pName) == 0)", is this a bug???
> Soap message returned by java webservice is as below:
> <?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>
> - <enumServiceResponse
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> - <enumServiceReturn soapenc:arrayType="ns1:PluginServiceInfo[1]"
> xsi:type="soapenc:Array" xmlns:ns1="http://PluginService.DCC.trendmicro.com"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
> - <enumServiceReturn xsi:type="ns1:PluginServiceInfo">
> <GUID xsi:type="soapenc:string">C5E6B478-0821-459B-92A5-E7DE2876BDD3</GUID>
> <name xsi:type="soapenc:string">TMIC FOR CSM</name>
> <type xsi:type="xsd:int">256</type>
> <version xsi:type="soapenc:string">1.0.0.0000</version>
> </enumServiceReturn>
> </enumServiceReturn>
> </enumServiceResponse>
> </soapenv:Body>
> </soapenv:Envelope>
> My WSDL is as below:
> <?xml version="1.0" encoding="UTF-8" ?>
> - <wsdl:definitions
> targetNamespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:apachesoap="http://xml.apache.org/xml-soap"
> xmlns:impl="http://localhost:9090/TMICServices/services/PluginServiceRegister"
>
> xmlns:intf="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:tns1="http://jdom.org" xmlns:tns2="http://lang.java"
> xmlns:tns3="http://PluginService.DCC.trendmicro.com"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> - <!--
> WSDL created by Apache Axis version: 1.4
> Built on Apr 22, 2006 (06:55:48 PDT)
> -->
> - <wsdl:types>
> - <schema targetNamespace="http://jdom.org"
> xmlns="http://www.w3.org/2001/XMLSchema">
> <import
> namespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> />
> <import namespace="http://PluginService.DCC.trendmicro.com" />
> <import namespace="http://lang.java" />
> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
> - <complexType name="JDOMException">
> - <sequence>
> <element name="message" nillable="true" type="soapenc:string" />
> <element name="rootCause" nillable="true" type="xsd:anyType" />
> </sequence>
> </complexType>
> </schema>
> - <schema targetNamespace="http://PluginService.DCC.trendmicro.com"
> xmlns="http://www.w3.org/2001/XMLSchema">
> <import namespace="http://jdom.org" />
> <import
> namespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> />
> <import namespace="http://lang.java" />
> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
> - <complexType name="PluginServiceInfo">
> - <sequence>
> <element name="GUID" nillable="true" type="soapenc:string" />
> <element name="name" nillable="true" type="soapenc:string" />
> <element name="type" type="xsd:int" />
> <element name="version" nillable="true" type="soapenc:string" />
> </sequence>
> </complexType>
> </schema>
> - <schema
> targetNamespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> xmlns="http://www.w3.org/2001/XMLSchema">
> <import namespace="http://jdom.org" />
> <import namespace="http://PluginService.DCC.trendmicro.com" />
> <import namespace="http://lang.java" />
> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
> - <complexType name="ArrayOf_tns3_PluginServiceInfo">
> - <complexContent>
> - <restriction base="soapenc:Array">
> <attribute ref="soapenc:arrayType"
> wsdl:arrayType="tns3:PluginServiceInfo[]" />
> </restriction>
> </complexContent>
> </complexType>
> </schema>
> </wsdl:types>
> - <wsdl:message name="JDOMException">
> <wsdl:part name="fault" type="tns1:JDOMException" />
> </wsdl:message>
> - <wsdl:message name="getServiceInfoRequest">
> <wsdl:part name="in0" type="soapenc:string" />
> </wsdl:message>
> - <wsdl:message name="updateServiceResponse">
> <wsdl:part name="updateServiceReturn" type="soapenc:string" />
> </wsdl:message>
> <wsdl:message name="rollbackServiceResponse" />
> - <wsdl:message name="enumServiceResponse">
> <wsdl:part name="enumServiceReturn"
> type="impl:ArrayOf_tns3_PluginServiceInfo" />
> </wsdl:message>
> - <wsdl:message name="rollbackServiceRequest">
> <wsdl:part name="in0" type="soapenc:string" />
> </wsdl:message>
> - <wsdl:message name="updateServiceRequest">
> <wsdl:part name="in0" type="soapenc:string" />
> <wsdl:part name="in1" type="soapenc:base64Binary" />
> </wsdl:message>
> - <wsdl:message name="enumServiceRequest">
> <wsdl:part name="in0" type="xsd:int" />
> </wsdl:message>
> - <wsdl:message name="registerServiceResponse">
> <wsdl:part name="registerServiceReturn" type="soapenc:string" />
> </wsdl:message>
> - <wsdl:message name="getServiceInfoResponse">
> <wsdl:part name="getServiceInfoReturn" type="tns3:PluginServiceInfo" />
> </wsdl:message>
> - <wsdl:message name="registerServiceRequest">
> <wsdl:part name="in0" type="soapenc:string" />
> <wsdl:part name="in1" type="soapenc:base64Binary" />
> </wsdl:message>
> - <wsdl:portType name="PluginServiceRegister">
> - <wsdl:operation name="registerService" parameterOrder="in0 in1">
> <wsdl:input message="impl:registerServiceRequest"
> name="registerServiceRequest" />
> <wsdl:output message="impl:registerServiceResponse"
> name="registerServiceResponse" />
> <wsdl:fault message="impl:JDOMException" name="JDOMException" />
> </wsdl:operation>
> - <wsdl:operation name="updateService" parameterOrder="in0 in1">
> <wsdl:input message="impl:updateServiceRequest" name="updateServiceRequest"
> />
> <wsdl:output message="impl:updateServiceResponse"
> name="updateServiceResponse" />
> <wsdl:fault message="impl:JDOMException" name="JDOMException" />
> </wsdl:operation>
> - <wsdl:operation name="rollbackService" parameterOrder="in0">
> <wsdl:input message="impl:rollbackServiceRequest"
> name="rollbackServiceRequest" />
> <wsdl:output message="impl:rollbackServiceResponse"
> name="rollbackServiceResponse" />
> <wsdl:fault message="impl:JDOMException" name="JDOMException" />
> </wsdl:operation>
> - <wsdl:operation name="enumService" parameterOrder="in0">
> <wsdl:input message="impl:enumServiceRequest" name="enumServiceRequest" />
> <wsdl:output message="impl:enumServiceResponse" name="enumServiceResponse"
> />
> </wsdl:operation>
> - <wsdl:operation name="getServiceInfo" parameterOrder="in0">
> <wsdl:input message="impl:getServiceInfoRequest"
> name="getServiceInfoRequest" />
> <wsdl:output message="impl:getServiceInfoResponse"
> name="getServiceInfoResponse" />
> </wsdl:operation>
> </wsdl:portType>
> - <wsdl:binding name="PluginServiceRegisterSoapBinding"
> type="impl:PluginServiceRegister">
> <wsdlsoap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http" />
> - <wsdl:operation name="registerService">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="registerServiceRequest">
> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://common.WebService.DCC.trendmicro.com" use="encoded" />
> </wsdl:input>
> - <wsdl:output name="registerServiceResponse">
> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> use="encoded" />
> </wsdl:output>
> - <wsdl:fault name="JDOMException">
> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> name="JDOMException"
> namespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> use="encoded" />
> </wsdl:fault>
> </wsdl:operation>
> - <wsdl:operation name="updateService">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="updateServiceRequest">
> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://common.WebService.DCC.trendmicro.com" use="encoded" />
> </wsdl:input>
> - <wsdl:output name="updateServiceResponse">
> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> use="encoded" />
> </wsdl:output>
> - <wsdl:fault name="JDOMException">
> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> name="JDOMException"
> namespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> use="encoded" />
> </wsdl:fault>
> </wsdl:operation>
> - <wsdl:operation name="rollbackService">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="rollbackServiceRequest">
> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://common.WebService.DCC.trendmicro.com" use="encoded" />
> </wsdl:input>
> - <wsdl:output name="rollbackServiceResponse">
> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> use="encoded" />
> </wsdl:output>
> - <wsdl:fault name="JDOMException">
> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> name="JDOMException"
> namespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> use="encoded" />
> </wsdl:fault>
> </wsdl:operation>
> - <wsdl:operation name="enumService">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="enumServiceRequest">
> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://common.WebService.DCC.trendmicro.com" use="encoded" />
> </wsdl:input>
> - <wsdl:output name="enumServiceResponse">
> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> use="encoded" />
> </wsdl:output>
> </wsdl:operation>
> - <wsdl:operation name="getServiceInfo">
> <wsdlsoap:operation soapAction="" />
> - <wsdl:input name="getServiceInfoRequest">
> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://common.WebService.DCC.trendmicro.com" use="encoded" />
> </wsdl:input>
> - <wsdl:output name="getServiceInfoResponse">
> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> use="encoded" />
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> - <wsdl:service name="PluginServiceRegisterService">
> - <wsdl:port binding="impl:PluginServiceRegisterSoapBinding"
> name="PluginServiceRegister">
> <wsdlsoap:address
> location="http://localhost:9090/TMICServices/services/PluginServiceRegister"
> />
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> Best regards,
> Ivan
> Trend Micro Product Development Group
> EMail: [EMAIL PROTECTED]
> [MSN] [EMAIL PROTECTED] [QQ] 20313412
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]