Hi KHS, First of all, thank you for your answer. I did not put the package information car my class did not have a package. For that, I put my class Flight.class and ReturnFlight.class into WEB-INF/classes directly, without package. It seems to me that my example must work with or without package, because package it is only for organizing our directory or classes.
I think that my problem is actually on the way that I publish my service. I have my service Flight.class and the class that it used ReturnFlight.class, I've tried to deploy my service but it allways say that did not know my service. I created a context in Tomcat called travelws, and I want to access my service not using the Flight.jws but another that I do not know yet. Probably it is my Flight.class that I want to execute. Thus, what is my endpoint? If I execute http://localhost:8088/travelws/Flight it did not find my service. My deploy.wsdd has changed to <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="Flight" provider="java:RPC"> <parameter name="className" value="Flight" /> <parameter name="allowedMethods" value="*" /> <beanMapping qname="myNS:ReturnFlight" xmlns:myNS="http://localhost:8080/travelws/Flight" languageSpecificType="java:ReturnFlight"/> </service> </deployment> But it continues not working!!!! Help me please!!! Thank you in advance, Daniela -----Message d'origine----- De : KHSergel [mailto:[EMAIL PROTECTED] Envoy� : mercredi 17 novembre 2004 12:50 � : [EMAIL PROTECTED]; [EMAIL PROTECTED] Objet : Re: Class as WS return parameter Hello, in the typemapping-part of your wsdd-file it should be type= "java:<package>ReturnFlight" where <package> is your defined package information. otherwise axis cant't find your class and has no information how to serialize, just how the errormessage said. br KHS -----Urspr�ngliche Nachricht----- Von: Daniela CLARO <[EMAIL PROTECTED]> An: [EMAIL PROTECTED] <[EMAIL PROTECTED]> Datum: Mittwoch, 17. November 2004 09:23 Betreff: Class as WS return parameter > Hi all, > > I am having a problem with my web service. I've created a web service > that it has a signature as below: > > public ReturnFlight findFlight(String fromCity, String toCity, String > dtDeparture, String dtArrival){ > > Where ReturnFlight is a class that I defined earlier with two attibutes. > > I am using AXIS 1.2 and I put this class (ReturnedFlight) into > WEB-INF/classes. My web service is published on > http://localhost:8080/Flight.jws. And the problem is that when I run > my simple Axis example to execute my web service, at first time it > gave me a message that I did not have serialized my class bean(ReturnedFlight). > > I've tried to solve this problem putting the server-config.wsdd in my > WEB-INF directory, but when I do that I receive an error execution on > my http://localhost:8080/Flight.jws. The problem is actually occuring > when I try this code in AXIS: > > call.setReturnType( XMLType.XSD_ANYTYPE ); ReturnFlight ret = new > ReturnFlight(); > ret = (ReturnFlight) call.invoke( new Object [] { fromCity, > toCity,dtDeparture,dtArrival }); > > I did not get any answer because I think it did not know how to work > with my ReturnFlight class. > > One more thing, if I am monitoring on the server side(Tomcat), I can > saw that my service has got actually the result that I want, but it > did not arrive to the client side. > > What do I must do to manage a class on returning parameters? > > Here below, I put my server-config.wsdd, I do not know if it is > correctly or not... > > Help me, please!!! > > <?xml version="1.0" encoding="UTF-8"?> <deployment > xmlns="http://xml.apache.org/axis/wsdd/" > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > <service name= "Flight" provider= "java:RPC" style="rpc" use= > "encoded"> > > <parameter name= "wsdlTargetNamespace" value= > "http://localhost:8080/travelws/Flight.jws"/ > <http://localhost:8080/travelws/Flight.jws> > <parameter name= > "wsdlServiceElement" value= "Flight"/> <parameter name= > "wsdlServicePort" value= "Flight"/> <parameter name= "className" > value= "ReturnFlight"/> <parameter name= "wsdlPortType " value= > "Flight"/> > > <operation name= "findFlight" qname= "operNS:findFlight" > xmlns:operNS= "http://localhost:8080/travelws/Flight.jws" > returnQName= "findFlightReturn" returnType= "rtns:ReturnFlight" > xmlns:rtns= "http://DefaultNamespace"> </operation > <parameter name= > "allowedMethods " value= "findFlight"/> > > <typeMapping > xmlns:ns= "http://DefaultNamespace" > qname= "ns:ReturnFlight" > type= "ReturnFlight" > serializer= "org.apache.axis.encoding.ser.BeanSerializerFactory " > deserializer= "org.apache.axis.encoding.ser.BeanDeserializerFactory " > encodingStyle= " http://schemas.xmlsoap.org/soap/encoding/" /> > </service > </deployment> > > > Increasing my explanation, when I run without server-config.wsdd I > receive this error: > > java.io.IOException: No serializer found for class ReturnFlight in > registry > [EMAIL PROTECTED] > org.apache.axis.AxisFault.makeFault(AxisFault.java:137) > org.apache.axis.SOAPPart.writeTo(SOAPPart.java:306) > org.apache.axis.SOAPPart.getAsString(SOAPPart.java:524) > org.apache.axis.SOAPPart.getAsBytes(SOAPPart.java:422) > org.apache.axis.Message.getContentType(Message.java:483) > > org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:682) > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase > .jav > a: > 339) > > > > Thank you so much, > Daniela
