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 "Rutherford, Matthew" <Ma...@DrKW.com> on 2006/01/10 13:23:58 UTC

wsdl2java array serialization trouble

axis 1.3 stable
 
Hi, 
I need to deserialize a String array returned to my axis-based client.
Unfortunately the deploy.wsdd, and <webservice>SoapBindingStub.java do not
register the correct serializer/deserializer for some reason.
 
>From deploy.wsdd:-
    <typeMapping
        xmlns:ns="<namespace>"
        qname="ns:ArrayOf_xsd_string"
        type="java:<namespace>.ArrayOf_xsd_string"
        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
        encodingStyle=""
      />
 
<webservice>SoapBindingStub.java:-
    (in <webservice>SoapBindingStub(javax.xml.rpc.Service service) method)
            java.lang.Class beansf =
org.apache.axis.encoding.ser.BeanSerializerFactory.class;
            java.lang.Class beandf =
org.apache.axis.encoding.ser.BeanDeserializerFactory.class;
            java.lang.Class arraysf =
org.apache.axis.encoding.ser.ArraySerializerFactory.class;
            java.lang.Class arraydf =
org.apache.axis.encoding.ser.ArrayDeserializerFactory.class;
            ...
            cachedSerQNames.add(qName);
            cls = <namespace>.ArrayOf_xsd_string.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(beansf);
            cachedDeserFactories.add(beandf);
 
from build.xml:-
<target name="wsdl2java">
        <taskdef resource="axis-tasks.properties"
classpathref="build.classpath"/>
        <axis-wsdl2java
            output="${clientdir}"
            deployscope="Application"
            serverside="true"
            url="http://localhost:8080/
<http://localhost:8080/<context>/<namespace>/<webservice>.jws?wsdl>
<context>/<namespace>/<webservice>.jws?wsdl">
        </axis-wsdl2java>
</target>
 
Why is wsdl2java generating this and not using the arrayserializer and
String[] object?
 
If it makes a difference, I developed the server side using Beehive 1
milestone release, and it reads in the soap request (with array parameter
contained) just fine.  If I test the web service via a browser window, it
returns soap as expected.
 
Tia
 
Matthew Rutherford
Digital Markets - Research team
Dresdner Kleinwort Wasserstein
 
+44 (0) 20 7475 2523
 
 ------


--------------------------------------------------------------------------------
The information contained herein is confidential and is intended solely for the
addressee. Access by any other party is unauthorised without the express 
written permission of the sender. If you are not the intended recipient, please 
contact the sender either via the company switchboard on +44 (0)20 7623 8000, or
via e-mail return. If you have received this e-mail in error or wish to read our
e-mail disclaimer statement and monitoring policy, please refer to 
http://www.drkw.com/disc/email/ or contact the sender. 3166
--------------------------------------------------------------------------------