axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniela CLARO" <daniela.cl...@eseo.fr>
Subject Class as WS return parameter
Date Wed, 17 Nov 2004 08:22:57 GMT
> 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
> org.apache.axis.encoding.DefaultSOAPEncodingTypeMappingImpl@15780d9 
>         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

Mime
View raw message