You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Daniela CLARO <da...@eseo.fr> on 2004/11/18 17:00:58 UTC
RE: Class as WS return parameter - Resolution
Hi all,
I've got it!!!
Here is my Client.java:
...
Service service = new Service();
Call call = (Call) service.createCall();
System.out.println("Antes do Qname");
QName qn = new QName("urn:Flight","ReturnFlight");
call.registerTypeMapping(ReturnFlight.class, qn,
new
org.apache.axis.encoding.ser.BeanSerializerFactory(ReturnFlight.class, qn),
new
org.apache.axis.encoding.ser.BeanDeserializerFactory(ReturnFlight.class,
qn));
System.out.println("Depoisdo Qname");
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName(new QName(method));
call.addParameter( "fromCity", XMLType.XSD_STRING, ParameterMode.IN
);
call.addParameter( "toCity", XMLType.XSD_STRING, ParameterMode.IN );
call.addParameter( "dtDeparture", XMLType.XSD_STRING,
ParameterMode.IN );
call.addParameter( "dtArrival", XMLType.XSD_STRING, ParameterMode.IN
);
call.setReturnType(qn);
System.out.println("Ate aqui tudo OK... ");
ReturnFlight ret = new ReturnFlight();
ret = (ReturnFlight) call.invoke( new Object [] { fromCity,
toCity,dtDeparture,dtArrival });
System.out.println("***********************************");
System.out.println("ResultadoFlight : " + ret);
System.out.println("ResultadoFlight : " + ret.getNumberFlight());
System.out.println("ResultadoPrice : " + ret.getPrice());
...
And here is my deployed service:
<service name="FlightFinder" provider="java:RPC">
<parameter name="allowedMethods" value="findFlight"/>
<parameter name="className" value="Flight"/>
<beanMapping languageSpecificType="java:ReturnFlight"
qname="ns1:ReturnFlight"
xmlns:ns1="urn:Flight"/>
</service>
Thank you!!!
Daniela