Hi, Dave!

Axis needs serializers and deserializers to convert the Java object to XML and 
back. You need to register them somehow. You can take a look at how WSDL2Java 
generates the beans and the de/serializers from a given WSDL where the object 
is defined in XML schema. If you don't have one you can generate it from your 
service class with Java2WSDL.

Best regards,

--
DI Günter Grossberger
Consultant             Tel: +43 1 329 50 161
Software AG Österreich Fax: +43 1 329 50 171
Guglgasse 7-9          GSM: +43 676 833 29 261
1030 Wien              http://www.softwareag.com/austria
 

> -----Original Message-----
> From: Dave Belfer-Shevett [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, September 22, 2005 6:55 PM
> To: [email protected]
> Subject: Arbitrary object types in a Document request?
> 
> Hi folks, the project is moving along thanks to help from the 
> list.  My
> next question is what's the proper procedure for encoding arbitrary
> types in a SOAP request?  I'd like to call axis from my Java 
> app and get
> a structured complex object back (in this case, the object is 
> a 'Task').
> When I call now, I'm getting:
> 
>  faultString: java.io.IOException: No serializer found for class
> com.arete.JQuo.Task in registry
> [EMAIL PROTECTED]
> 
> 
> Which makes sense... I thought I could tell my client to return
> 'wahtever it is' in a soap document, thusly:
> 
> System.out.println("Calling 'Task' webservice method 'getTask'...");
> call.removeAllParameters();
> call.addParameter("getTask", org.apache.axis.Constants.XSD_LONG,
> ParameterMode.IN);
>                       
> call.setReturnType(org.apache.axis.Constants.SOAP_DOCUMENT);
> call.setOperationName(new QName("getTask"));
> call.setOperationStyle(Style.DOCUMENT);
> call.setOperationUse(Use.LITERAL);
> Task testMe = (Task)call.invoke(new Object[] { new Long(5) } ) ;
> 
> But no dice?
> 
> Thanks again, the list has been VERY helpful...
> 
>       -dbs
> 
> 

Reply via email to