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 > >
