This error occurs when you try call the service, because server doesn't kown about your serializer or deserializer. You need deploy the serializer and deserializer for your custom class in the server.


    Thiago


Brian Dillon (ext. 944) wrote:
Thiago,

No the actual exception is;

AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.userException
 faultString: org.xml.sax.SAXException: Deserializing parameter 'arg0':
could not find deserializer
 for type Oid
 faultActor: null
 faultDetail:
        stackTrace: org.xml.sax.SAXException: Deserializing parameter
'arg0':  could not find deseri
alizer for type Oid
        at
org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:276)
        at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deserializa
tionContextIm
pl.java:893)
        at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:200)
        at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:
684)
        at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
        at org.apache.axis.message.RPCElement.getParams(RPCElement.java:265)
        at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:1
90)
        at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:276)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:
71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
        at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
        at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:701)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
335)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.j
ava:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)

Brian.

-----Original Message-----
From: Thiago Leão Moreira [mailto:[EMAIL PROTECTED]]
Sent: 26 November 2002 13:14
To: [EMAIL PROTECTED]
Subject: Re: Problem Mapping Custom Serializer and Deserializer in WSDD




This is the error???

org.apache.axis.deployment.wsdd.WSDDException: 
javax.xml.rpc.JAXRPCException: Null serializer factory 
specified.javax.xml.rpc.JAXRPCException: Null serializer factory specified.


Thiago

Brian Dillon (ext. 944) wrote:

  
Hi,

I have custom serializers and deserializers which I need to use to provide
the mapping for our Object Types. However when I tried to deploy this
mapping using;;

			<deployment
			    xmlns="http://xml.apache.org/axis/wsdd/"
	
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
			    xmlns:ta="http://www.fineos.com/XMLSchema/ta">

			  <!-- Services from MyTestSoapSrvService WSDL
service -->

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

			    <requestFlow>
			      <handler type="soapmonitor"/>
			    </requestFlow>
			    <responseFlow>
			      <handler type="soapmonitor"/>
			    </responseFlow>

			      <parameter name="wsdlTargetNamespace"
value="http://wsdlService"/>
			      <parameter name="className"
value="wsdlService.MyTestSoapSrvImpl"/>

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

			      <typeMapping qname="ta:Oid"
xmlns:ns:"http://wsdlService"
	
languageSpecificType="java:com.fineos.ta.bo.Oid"
			        serializer="TASerializerFactory"
			        deserializer="TADeserializerFactory"
	
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

			  </service>
			</deployment>


As the Deployement Descriptor, I keep getting a exception could not find
Serializer. However, when I added them programtically in the client the
Serialiser on the Client side was called but I still get a 'can't find
Deserializer' on the Server side. Can someone point in the right direction
as to what I am doing wrong in the wsdd file. 

The code I use on the client side to register is;

           cll.registerTypeMapping(com.fineos.ta.bo.Oid.class,new
QName("ta:Oid"),
               TASerializerFactory.class,TADeserializerFactory.class);



Thanks,

Brian.


**************************************************************************
The information contained in this e-mail is confidential,
may be privileged and is intended only for the use of the
recipient named above. If you are not the intended
recipient or a representative of the intended recipient,
you have received this e-mail in error and must not copy,
use or disclose the contents of this email to anybody
else. If you have received this e-mail in error, please
notify the sender immediately by return e-mail and
permanently delete the copy you received. This email has
been swept for computer viruses. However, you should
carry out your own virus checks.


Registered in Ireland, No. 205721. http://www.FINEOS.com
**************************************************************************



 

    



**************************************************************************
The information contained in this e-mail is confidential,
may be privileged and is intended only for the use of the
recipient named above. If you are not the intended
recipient or a representative of the intended recipient,
you have received this e-mail in error and must not copy,
use or disclose the contents of this email to anybody
else. If you have received this e-mail in error, please
notify the sender immediately by return e-mail and
permanently delete the copy you received. This email has
been swept for computer viruses. However, you should
carry out your own virus checks.


Registered in Ireland, No. 205721. http://www.FINEOS.com
**************************************************************************



  

Reply via email to