You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by thusa gihan <th...@gmail.com> on 2008/10/07 07:56:27 UTC
WS call returns "Can't decode apache map"
Hi,
This is my first post to the group.
I have generated client side Java classes using a WSDL2Java tool, and when I
call the WS, it returns the following error message.
SOAP-ENV:Server
SOAP-ERROR: Encoding: Can't decode apache map, only Strings or Longs are
allowd as keys
I don't have access to the server side of the web service. I only see the
above error message.
I guess this to be a common issue; and looking for some assistance for
resolving this issue.
Thanks,
Thusa
Re: WS call returns "Can't decode apache map"
Posted by thusa gihan <th...@gmail.com>.
Yes, I have all of those.
WSDL: (start)
----------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:typens="urn:Company"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://schemas.xmlsoap.org/wsdl/" name="Company"
targetNamespace="urn:Company">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:Company">
<import
namespace="http://schemas.xmlsoap.org/soap/encoding/"
schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="FixedArray">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType"
wsdl:arrayType="xsd:anyType[]" />
</restriction>
</complexContent>
</complexType>
</schema>
</types>
<message name="call">
<part name="sessionId" type="xsd:string" />
<part name="resourcePath" type="xsd:string" />
<part name="args" type="xsd:anyType" />
</message>
<message name="callResponse">
<part name="callReturn" type="xsd:anyType" />
</message>
<message name="multiCall">
<part name="sessionId" type="xsd:string" />
<part name="calls" type="typens:FixedArray" />
<part name="options" type="xsd:anyType" />
</message>
<message name="multiCallResponse">
<part name="multiCallReturn" type="typens:FixedArray" />
</message>
<message name="endSession">
<part name="sessionId" type="xsd:string" />
</message>
<message name="endSessionResponse">
<part name="endSessionReturn" type="xsd:boolean" />
</message>
<message name="login">
<part name="username" type="xsd:string" />
<part name="apiKey" type="xsd:string" />
</message>
<message name="loginResponse">
<part name="loginReturn" type="xsd:string" />
</message>
<message name="resources">
<part name="sessionId" type="xsd:string" />
</message>
<message name="resourcesResponse">
<part name="resourcesReturn" type="typens:FixedArray" />
</message>
<message name="globalFaults">
<part name="sessionId" type="xsd:string" />
</message>
<message name="globalFaultsResponse">
<part name="globalFaultsReturn" type="typens:FixedArray" />
</message>
<message name="resourceFaults">
<part name="resourceName" type="xsd:string" />
<part name="sessionId" type="xsd:string" />
</message>
<message name="resourceFaultsResponse">
<part name="resourceFaultsReturn" type="typens:FixedArray" />
</message>
<message name="startSession" />
<message name="startSessionResponse">
<part name="startSessionReturn" type="xsd:string" />
</message>
<portType name="Comp_Api_Model_Server_HandlerPortType">
<operation name="call">
<documentation>Call api functionality</documentation>
<input message="typens:call" />
<output message="typens:callResponse" />
</operation>
<operation name="multiCall">
<documentation>
Multiple calls of resource functionality
</documentation>
<input message="typens:multiCall" />
<output message="typens:multiCallResponse" />
</operation>
<operation name="endSession">
<documentation>End web service session</documentation>
<input message="typens:endSession" />
<output message="typens:endSessionResponse" />
</operation>
<operation name="login">
<documentation>
Login user and retrive session id
</documentation>
<input message="typens:login" />
<output message="typens:loginResponse" />
</operation>
<operation name="startSession">
<documentation>Start web service session</documentation>
<input message="typens:startSession" />
<output message="typens:startSessionResponse" />
</operation>
<operation name="resources">
<documentation>List of available resources</documentation>
<input message="typens:resources" />
<output message="typens:resourcesResponse" />
</operation>
<operation name="globalFaults">
<documentation>List of resource faults</documentation>
<input message="typens:globalFaults" />
<output message="typens:globalFaultsResponse" />
</operation>
<operation name="resourceFaults">
<documentation>List of global faults</documentation>
<input message="typens:resourceFaults" />
<output message="typens:resourceFaultsResponse" />
</operation>
</portType>
<binding name="Comp_Api_Model_Server_HandlerBinding"
type="typens:Comp_Api_Model_Server_HandlerPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="call">
<soap:operation
soapAction="urn:Comp_Api_Model_Server_HandlerAction" />
<input>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="multiCall">
<soap:operation
soapAction="urn:Comp_Api_Model_Server_HandlerAction" />
<input>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="endSession">
<soap:operation
soapAction="urn:Comp_Api_Model_Server_HandlerAction" />
<input>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="login">
<soap:operation
soapAction="urn:Comp_Api_Model_Server_HandlerAction" />
<input>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="startSession">
<soap:operation
soapAction="urn:Comp_Api_Model_Server_HandlerAction" />
<input>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="resources">
<soap:operation
soapAction="urn:Comp_Api_Model_Server_HandlerAction" />
<input>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="globalFaults">
<soap:operation
soapAction="urn:Comp_Api_Model_Server_HandlerAction" />
<input>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
<operation name="resourceFaults">
<soap:operation
soapAction="urn:Comp_Api_Model_Server_HandlerAction" />
<input>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body namespace="urn:Company" use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
<service name="CompanyService">
<port name="Comp_Api_Model_Server_HandlerPort"
binding="typens:Comp_Api_Model_Server_HandlerBinding">
<soap:address
location="http://localhost/Company/index.php/api/index/index/" />
</port>
</service>
</definitions>
WSDL (end)
----------------------------------
Here is the 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:call soapenv:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:Company">
<sessionId
xsi:type="xsd:string">1vp029hcubiiven8cr1s21nke2</sessionId>
<resourcePath
xsi:type="xsd:string">customer.create</resourcePath>
<args soapenc:arrayType="xsd:anyType[1]"
xsi:type="soapenc:Array" xmlns:soapenc="
http://schemas.xmlsoap.org/soap/encoding/">
<args href="#id0"/>
</args>
</ns1:call>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:Map"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="
http://xml.apache.org/xml-soap">
<item>
<key xsi:type="soapenc:string">email</key>
<value xsi:type="soapenc:string">myemail13@domain.com</value>
</item>
<item>
<key xsi:type="soapenc:string">lastname</key>
<value xsi:type="soapenc:string">myLastName</value>
</item>
<item>
<key xsi:type="soapenc:string">firstname</key>
<value xsi:type="soapenc:string">MyFirstName</value>
</item>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
Request (end)
----------------------------------------
The response is as follows.
----------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>SOAP-ERROR: Encoding: Can't decode apache map, only
Strings or Longs are allowd as keys</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
response (end)
----------------------------------------
These are the files involed here. I used Axis 1.4 to generate the stub
classes.
Thanks,
Thusa
On Tue, Oct 7, 2008 at 1:35 PM, Samisa Abeysinghe <
samisa.abeysinghe@gmail.com> wrote:
> 1. Could you send the WSDL?
> 2. Do you have the request and response messages captured?
>
> Samisa...
>
>
> thusa gihan wrote:
>
>> Hi,
>>
>> This is my first post to the group.
>>
>> I have generated client side Java classes using a WSDL2Java tool, and when
>> I call the WS, it returns the following error message.
>>
>> SOAP-ENV:Server
>>
>> SOAP-ERROR: Encoding: Can't decode apache map, only Strings or Longs are
>> allowd as keys
>>
>> I don't have access to the server side of the web service. I only see the
>> above error message.
>>
>> I guess this to be a common issue; and looking for some assistance for
>> resolving this issue.
>>
>> Thanks,
>> Thusa
>>
>
>
> --
> Samisa Abeysinghe
>
> http://people.apache.org/~samisa/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>
Re: WS call returns "Can't decode apache map"
Posted by Samisa Abeysinghe <sa...@gmail.com>.
1. Could you send the WSDL?
2. Do you have the request and response messages captured?
Samisa...
thusa gihan wrote:
> Hi,
>
> This is my first post to the group.
>
> I have generated client side Java classes using a WSDL2Java tool, and
> when I call the WS, it returns the following error message.
>
> SOAP-ENV:Server
>
> SOAP-ERROR: Encoding: Can't decode apache map, only Strings or Longs
> are allowd as keys
>
> I don't have access to the server side of the web service. I only see
> the above error message.
>
> I guess this to be a common issue; and looking for some assistance for
> resolving this issue.
>
> Thanks,
> Thusa
--
Samisa Abeysinghe
http://people.apache.org/~samisa/
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org