axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daleiden, Mike" <mike.dalei...@aaaresponse.com>
Subject RE: Problem Mapping Custom Serializer and Deserializer in WSDD
Date Tue, 26 Nov 2002 16:15:17 GMT
Brian -
 
I am not an expert at Axis (actually a fairly new user myself), but I would suggest changing
the registerTypeMapping() call to the following:
 
    cll.registerTypeMapping(com.fineos.ta.bo.Oid.class, new QName("http://www.fineos.com/XMLSchema/ta
<http://www.fineos.com/XMLSchema/ta> ", "Oid"), TASerializerFactory.class, TADeserializer.class);
 
Also, I don't see any operations defined in your WSDD, so I'm not sure the server will even
understand your client call.
 
--Mike

	-----Original Message-----
	From: Brian Dillon (ext. 944) [mailto:Brian.Dillon@fineos.com] 
	Sent: Tuesday, November 26, 2002 11:08 AM
	To: 'axis-user@xml.apache.org'
	Subject: RE: Problem Mapping Custom Serializer and Deserializer in WSDD
	
	
	Mike,
	 
	I am still having the same problem with this. Do you think, could it have something to do
with the way I am calling the operation from the client, I have inluded an extract from the
client (if you could take a quick look at it I would appreciate it, not I am not using generated
stubs and skelletons)
	 
	

		cll.setTargetEndpointAddress(new java.net.URL(endpnt));
		//Set the typeMapping for the ClientSide
		cll.registerTypeMapping(com.fineos.ta.bo.Oid.class,new QName("ta:Oid"),
		TASerializerFactory.class,TADeserializerFactory.class);
		com.fineos.ta.bo.Oid boOid = new com.fineos.ta.bo.Oid(true,true,3003,34456);
		cll.setOperationName(new QName("ta:Oid","myTestCallOid") );
		//Inoke the operation
		com.fineos.ta.bo.Oid retOid = (com.fineos.ta.bo.Oid) cll.invoke(new Object[] {boOid});
		

	Thanks,

	Brian

	-----Original Message-----
	From: Daleiden, Mike [mailto:mike.daleiden@aaaresponse.com]
	Sent: 26 November 2002 14:47
	To: axis-user@xml.apache.org
	Subject: RE: Problem Mapping Custom Serializer and Deserializer in WSDD
	
	

		Oops...looking at this again, I think it should be
		 
		
		      <typeMapping qname="ta:Oid" xmlns:ta="http://www.fineos.com/XMLSchema/ta"
		

			-----Original Message-----
			From: Daleiden, Mike [mailto:mike.daleiden@aaaresponse.com] 
			Sent: Tuesday, November 26, 2002 9:43 AM
			To: axis-user@xml.apache.org
			Subject: RE: Problem Mapping Custom Serializer and Deserializer in WSDD
			
			
			Brian -
			 
			I think the problem is a typo in your WSDD:
			 
			      <typeMapping qname="ta:Oid" xmlns:ns:"http://wsdlService <http://wsdlservice/>
"
			
			should be
			 
			      <typeMapping qname="ta:Oid" xmlns:ns="http://wsdlService <http://wsdlservice/>
"
			
			Try that and see if it fixes the problem.
			 
			--Mike

				-----Original Message-----
				From: Brian Dillon (ext. 944) [mailto:Brian.Dillon@fineos.com] 
				Sent: Tuesday, November 26, 2002 9:28 AM
				To: 'axis-user@xml.apache.org'
				Subject: RE: Problem Mapping Custom Serializer and Deserializer in WSDD
				
				
				Thiago,
				 
				Is this not what I am doing by using the deploy decriptor below ?
				 

					<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>

				 
				If not what else do I need to do ?
				 
				Thanks,
				 
				Brian.

					-----Original Message-----
					From: Thiago Leão Moreira [mailto:thiagoleao@terra.com.br]
					Sent: 26 November 2002 14:11
					To: axis-user@xml.apache.org
					Subject: Re: Problem Mapping Custom Serializer and Deserializer in WSDD
					
					

					    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:thiagoleao@terra.com.br]
					Sent: 26 November 2002 13:14
					To: axis-user@xml.apache.org
					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/" <http://xml.apache.org/axis/wsdd/>

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

								    xmlns:ta="http://www.fineos.com/XMLSchema/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" <http://wsdlService> />
								      <parameter name="className"
					value="wsdlService.MyTestSoapSrvImpl"/>
					
								      <parameter name="allowedMethods" value="*"/>
					
								      <typeMapping qname="ta:Oid"
					xmlns:ns:"http://wsdlService" <http://wsdlService> 
						
					languageSpecificType="java:com.fineos.ta.bo.Oid"
								        serializer="TASerializerFactory"
								        deserializer="TADeserializerFactory"
						
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" <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
					**************************************************************************
					
					
					
					  



Mime
View raw message