Yes Paul, all now works. sorry had not reported that to this list. Axis Serverside and Clientside all is fine.
Now I need to know how to deserialize the sended ComplexType (my custom JavaBean) in kSOAP. That's all ... :) Regards, Matthias > -----Original Message----- > From: Bouche Paul [mailto:[EMAIL PROTECTED] > Sent: Tuesday, September 28, 2004 4:26 PM > To: [EMAIL PROTECTED] > Subject: RE: [Axis error] No serializer found for class > > > Hello Matthias, > > I suspect you are trying to send this bean from your client > to your server > on the client side you also have to register a > serializer/desialiser for the Data type. When using the > wsdl2java tool these things should be taken care of but if > you code the client from scratch then you have to manually > register the de/searialers with axis, there is an example for > this in <youraxisdir>\samples\userguide\example5 in the Client.java. > > Hope this of help, > Paul > > > -----Original Message----- > > From: Matthias Wessendorf [mailto:[EMAIL PROTECTED] > > Sent: Montag, 27. September 2004 19:47 > > To: [EMAIL PROTECTED] > > Subject: RE: [Axis error] No serializer found for class > > > > > > karim, paul > > > > thanks! The call via HTTP.GET works now. > > I just started to implement my java-client > > and got an Exception during Deserializing. > > (see below) > > > > I have this in WSDD-file: > > <deployment xmlns="http://xml.apache.org/axis/wsdd/" > > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > <service name="W3LService" provider="java:RPC"> > > <parameter name="className" value="net.wessendorf.ws.W3LService"/> > > <parameter name="allowedMethods" value="getData"/> <beanMapping > > qname="mwNS:Data" xmlns:mwNS="urn:W3LService" > > languageSpecificType="java:net.wessendorf.ws.Data"/> > > </service> > > </deployment> > > > > Something I am still missing. > > But what? :) > > > > > > Thanks for any advice. > > > > Regards, > > Matthias > > > > <exception> > > - Exception: > > org.xml.sax.SAXException: Deserializing parameter 'getDataReturn': > > could not find deserializer for type {urn:W3LService}Data > > at > > org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:302) > > at > org.apache.axis.encoding.DeserializationContextImpl.startEleme > > nt(Deseria > > lizationContextImpl.java:963) > > at > > org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventReco > > rder.java: > > 198) > > at > > org.apache.axis.message.MessageElement.publishToHandler(Messag > > eElement.j > > ava:722) > > at > > org.apache.axis.message.RPCElement.deserialize(RPCElement.java:323) > > at > > org.apache.axis.message.RPCElement.getParams(RPCElement.java:347) > > at org.apache.axis.client.Call.invoke(Call.java:2272) > > at org.apache.axis.client.Call.invoke(Call.java:2171) > > at org.apache.axis.client.Call.invoke(Call.java:1691) > > at net.wessendorf.ws.SOAPClient2.main(SOAPClient2.java:35) > > AxisFault > > faultCode: > > {http://schemas.xmlsoap.org/soap/envelope/}Server.userException > > faultSubcode: > > faultString: org.xml.sax.SAXException: Deserializing parameter > > 'getDataReturn': could not find deserializer for type > > {urn:W3LService}Data > > faultActor: > > faultNode: > > faultDetail: > > {http://xml.apache.org/axis/}stackTrace: > > org.xml.sax.SAXException: Deserializing parameter 'getDataReturn': > > could not find deserializer for type {urn:W3LService}Data > > at > > org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:302) > > at > > org.apache.axis.encoding.DeserializationContextImpl.startEleme > > nt(Deseria > > lizationContextImpl.java:963) > > at > > org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventReco > > rder.java: > > 198) > > at > > org.apache.axis.message.MessageElement.publishToHandler(Messag > > eElement.j > > ava:722) > > at > > org.apache.axis.message.RPCElement.deserialize(RPCElement.java:323) > > at > > org.apache.axis.message.RPCElement.getParams(RPCElement.java:347) > > at org.apache.axis.client.Call.invoke(Call.java:2272) > > at org.apache.axis.client.Call.invoke(Call.java:2171) > > at org.apache.axis.client.Call.invoke(Call.java:1691) > > at net.wessendorf.ws.SOAPClient2.main(SOAPClient2.java:35) > > > > > > org.xml.sax.SAXException: Deserializing parameter 'getDataReturn': > > could not find deserializer for type {urn:W3LService}Data > > at org.apache.axis.AxisFault.makeFault(AxisFault.java:129) > > at org.apache.axis.client.Call.invoke(Call.java:2275) > > at org.apache.axis.client.Call.invoke(Call.java:2171) > > at org.apache.axis.client.Call.invoke(Call.java:1691) > > at net.wessendorf.ws.SOAPClient2.main(SOAPClient2.java:35) > > Caused by: org.xml.sax.SAXException: Deserializing parameter > > 'getDataReturn': could not find deserializer for type > > {urn:W3LService}Data > > at > > org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:302) > > at > org.apache.axis.encoding.DeserializationContextImpl.startEleme > > nt(Deseria > > lizationContextImpl.java:963) > > at > > org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventReco > > rder.java: > > 198) > > at > > org.apache.axis.message.MessageElement.publishToHandler(Messag > > eElement.j > > ava:722) > > at > > org.apache.axis.message.RPCElement.deserialize(RPCElement.java:323) > > at > > org.apache.axis.message.RPCElement.getParams(RPCElement.java:347) > > at org.apache.axis.client.Call.invoke(Call.java:2272) > > ... 3 more > > </exception> > > > > > -----Original Message----- > > > From: Bouche Paul [mailto:[EMAIL PROTECTED] > > > Sent: Monday, September 27, 2004 3:24 PM > > > To: [EMAIL PROTECTED] > > > Subject: RE: [Axis error] No serializer found for class > > > > > > > > > Is there not to a way to register a type-mapping in the > .wsdd file? > > > I just looked in the axis-user guide and you can use: a > <typMapping> > > > element as child of <service> element in the wsdd. > Example from the > > > dok: <typeMapping qname="ns:local" xmlns:ns="someNamespace" > > > languageSpecificType="java:my.java.thingy" > > > serializer="my.java.Serializer" > > > deserializer="my.java.DeserializerFactory" > > > > > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > > > > > > Paul > > > > > > > -----Original Message----- > > > > From: Matthias Wessendorf > [mailto:[EMAIL PROTECTED] > > > > Sent: Montag, 27. September 2004 14:59 > > > > To: [EMAIL PROTECTED] > > > > Subject: RE: [Axis error] No serializer found for class > > > > > > > > > > > > Karim, > > > > > > > > thanks for the fast replay. > > > > I used a POJO-class for the WebService and a ValueObject (Data) > > > > for Return-Statement. If I use the Call-Object, now my > WebServices > > > > depends on Axis. is there a more generic way for that? > > > > > > > > I have > > > > W3LService.java with: > > > > public Data getData(String name){ > > > > return new Data(); > > > > } > > > > > > > > and service.wsdd: > > > > <deployment xmlns="http://xml.apache.org/axis/wsdd/" > > > > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > > > <service name="W3LService" provider="java:RPC"> <parameter > > > > name="className" > > value="net.wessendorf.ws.W3LService"/> > > > > <parameter name="allowedMethods" value="getData"/> </service> > > > > </deployment> > > > > > > > > Thanks, > > > > Matthias > > > > > > > > > > > > > I think that you need to register a type mapping. > > > > > To do so, use the method registerTypeMapping of the > Call object. > > > > > > > > > > Create a QName ( new QName("http://ws.wessendorf.net", > > "Data")), > > > > > then call registerTypeMapping on (Data.class, qname, > > serializer, > > > > > deserializer); > > > > > > > > > > the serializer and deserializer can be found at > > > > > org.apache.axis.encoding.ser. > > > > > > > > > > Hope this helps > > > > > Karim > > > > > > > > > > > > > > > > > . > > > > > > > > > > . > > > > > > > > > . > > > > . >