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 Fabrício <fa...@de9.ime.eb.br> on 2005/08/29 19:54:51 UTC

Implementing (De)Serializer

Hello all,

 

I created a web service that returns a bean instance. Firstly, when I was
running my clients I was obtaining SAX Exceptions saying “unexpected end of
file”.

 

So I tried to do my own Serializers. I created my Bean.java, a
Bean(De)Serializer.java and Bean(De)SerializerFactory.java at the same
package.

 

My web service is still the same. Than, I deployed my web service using the
following WSDD:

 

<deployment xmlns="http://xml.apache.org/axis/wsdd/"

    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

 

    <service name="MyService" provider="java:RPC">

        <parameter name="className" value="MyService"/>

        <parameter name="allowedMethods" value="*"/>

 

        <typeMapping qname="ns:Bean"

            xmlns:ns="urn:MyService"

            languageSpecificType="java:my_package.Bean"

            serializer=" my_package.BeanSerializerFactory "

            deserializer=" my_package.BeanDeserializerFactory "

            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

 

    </service>

 

</deployment>

 

And now I’m obtaining the error:

 

; nested exception is: 

org.xml.sax.SAXException: Deserializing parameter 'getBeanReturn':  could
not find deserializer for type {urn:MyService}Bean

                           at
org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:270)

                           at
org.apache.axis.encoding.DeserializationContext.startElement(Deserialization
Context.java:1035)

                           at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)

                           at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:
1140)

                           at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:347)

                           at
org.apache.axis.message.RPCElement.getParams(RPCElement.java:386)

                           at
org.apache.axis.client.Call.invoke(Call.java:2437)

                           at
org.apache.axis.client.Call.invoke(Call.java:2336)

                           at
org.apache.axis.client.Call.invoke(Call.java:1793)

                           at testeWSCliente.main(testeWSCliente.java:17)

Finished executing

 

 

Does anyone know why this is happening?

 

Thanks a lot,

 

Fabrício.