You need to register a deserializer for ArrayOf_xsd_string, something like
SOAPMappingRegistry smr = new SOAPMappingRegistry(); ArraySerializer arraySer = new ArraySerializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("urn:mbws", "ArrayOf_xsd_string"), String[].class, arraySer, arraySer); call.setSOAPMappingRegistry(smr); On 13 Jul 2003 at 17:31, Lior Weintraub 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 > > > Scott Nichol Do not reply directly to this e-mail address, as it is filtered to only receive e-mail from specific mailing lists.