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 Lior Weintraub <Li...@orcainteractive.com> on 2003/07/13 14:40:33 UTC
No Deserializer found to deserialize ArrayOf_xsd_string
Hi,
I have an Apache SOAP java client, and I try to invoke a web service deployed on Tomcat with axis.
The web service method looks like that:
public AssetProperties getAssetProperties(String in0, String in1) throws Exception
I keep getting the following error:
[SOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to deserialize a 'urn:mbws:ArrayOf_xsd_string' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.; targetException=java.lang.IllegalArgumentException: No Deserializer found to deserialize a 'urn:mbws:ArrayOf_xsd_string' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.]
I've registered the AssetProperties object using BeanSerializer and it is in a Bean format.
My Soap request looks as follows:
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:getAssetProperties xmlns:ns1="urn:mbws" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<in0 xsi:type="xsd:string">dd</in0>
<in1 xsi:type="xsd:string">Wall</in1>
</ns1:getAssetProperties>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
And the response looks as follows:
<?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:getAssetPropertiesResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:mbws">
<getAssetPropertiesReturn href="#id0"/>
</ns1:getAssetPropertiesResponse>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:AssetProperties" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:mbws">
<startTimeInAsset xsi:type="xsd:long">0</startTimeInAsset>
<encodingType xsi:type="xsd:string">MPEG-1</encodingType>
<bitRate xsi:type="xsd:long">1500000</bitRate>
<duration xsi:type="xsd:long">632</duration>
<assets xsi:type="ns2:ArrayOf_xsd_string" xsi:nil="true"/>
<keywords xsi:type="xsd:string">Simple asset</keywords>
<prefix xsi:type="xsd:long">0</prefix>
<assetType xsi:type="xsd:string">SIMPLE</assetType>
<endTimeInAsset xsi:type="xsd:long">0</endTimeInAsset>
<assetName xsi:type="xsd:string">Wall</assetName>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
Please tell me if you have any idea about this.
Thanks,
Lior Weintraub
Re: No Deserializer found to deserialize ArrayOf_xsd_string
Posted by Davanum Srinivas <di...@yahoo.com>.
Try adding one more registration....
Namespace : urn:mbws:ArrayOf_xsd_string
Java class : java.lang.String[].class
Serializer : org.apache.axis.encoding.ser.ArraySerializerFactory.class
Deserializer : org.apache.axis.encoding.ser.ArrayDeserializerFactory.class
-- dims
--- Lior Weintraub <Li...@orcainteractive.com> wrote:
> Hi,
>
> I have an Apache SOAP java client, and I try to invoke a web service deployed on Tomcat with
> axis.
> The web service method looks like that:
> public AssetProperties getAssetProperties(String in0, String in1) throws Exception
>
> I keep getting the following error:
> [SOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to deserialize a
> 'urn:mbws:ArrayOf_xsd_string' using encoding style
> 'http://schemas.xmlsoap.org/soap/encoding/'.;
> targetException=java.lang.IllegalArgumentException: No Deserializer found to deserialize a
> 'urn:mbws:ArrayOf_xsd_string' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.]
>
>
> I've registered the AssetProperties object using BeanSerializer and it is in a Bean format.
>
> My Soap request looks as follows:
>
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <SOAP-ENV:Body>
> <ns1:getAssetProperties xmlns:ns1="urn:mbws"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> <in0 xsi:type="xsd:string">dd</in0>
> <in1 xsi:type="xsd:string">Wall</in1>
> </ns1:getAssetProperties>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> And the response looks as follows:
>
> <?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:getAssetPropertiesResponse
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:mbws">
> <getAssetPropertiesReturn href="#id0"/>
> </ns1:getAssetPropertiesResponse>
> <multiRef id="id0" soapenc:root="0"
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:AssetProperties"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:mbws">
> <startTimeInAsset xsi:type="xsd:long">0</startTimeInAsset>
> <encodingType xsi:type="xsd:string">MPEG-1</encodingType>
> <bitRate xsi:type="xsd:long">1500000</bitRate>
> <duration xsi:type="xsd:long">632</duration>
> <assets xsi:type="ns2:ArrayOf_xsd_string" xsi:nil="true"/>
> <keywords xsi:type="xsd:string">Simple asset</keywords>
> <prefix xsi:type="xsd:long">0</prefix>
> <assetType xsi:type="xsd:string">SIMPLE</assetType>
> <endTimeInAsset xsi:type="xsd:long">0</endTimeInAsset>
> <assetName xsi:type="xsd:string">Wall</assetName>
> </multiRef>
> </soapenv:Body>
> </soapenv:Envelope>
>
> Please tell me if you have any idea about this.
> Thanks,
> Lior Weintraub
=====
Davanum Srinivas - http://webservices.apache.org/~dims/
__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com