After some time, I'm back again at my problem trying to directly returning XML from a web service. With RPC/encoded I'd get "section 5" encoding, but that's not what I want.
I'd like to return XML like this in the SOAP response <root> <child>CHILDVALUE</child> <list> <item>ITEM1</item> <item>ITEM2</item> </list> </root> I've set up a test project where the serializer fakes this for a dummy return value. With rpc/encoded this works partly, that is, I can call the web service from a browser and get the result I want. But, of course, the result isn't really rpc/encoded, it actually is document (or wrapped)/literal. Now, when I change deploy.wsdd to reflect this (see below), my serializer isn't found anymore, as the thrown exception indicates java.io.IOException: No serializer found for class wsdltest.MyReturnValue in registry [EMAIL PROTECTED] at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1267) at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:778) ... Further problems are creation of appropriate WSDL, deserialization, and generation of client code. I've looked through the axis samples and searched on the web, but I was unable to find an example that demonstrates what I'm trying to do. I'm wondering whether it's really so utterly uncommon. Michael public class MyService { public MyReturnValue test() { return new MyReturnValue(); } } public class MyReturnValue { } public class MyReturnValueSerializer implements Serializer { public String getMechanismType() { return Constants.AXIS_SAX; } public void serialize( QName name, Attributes attribs, Object value, SerializationContext context ) throws IOException { context.startElement(name, attribs); context.startElement(new QName("child"), null); context.writeString("CHILDVALUE"); context.endElement(); context.startElement(new QName("list"), null); context.startElement(new QName("item"), null); context.writeString("ITEM1"); context.endElement(); context.startElement(new QName("item"), null); context.writeString("ITEM2"); context.endElement(); context.endElement(); context.endElement(); } public Element writeSchema( Class javaType, Types types ) throws Exception { // TODO return null; } } ---->----deploy.wsdd---->---- <deployment name="test" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="WsdlTest" provider="java:RPC" style="wrapped" use="literal"> <parameter name="className" value="wsdltest.MyService"/> <parameter name="allowedMethods" value="test"/> <typeMapping xmlns:ns="http://schuerig.de/wsdltest" qname="ns:wsdltest" type="java:wsdltest.MyReturnValue" serializer="wsdltest.MyReturnValueSerializerFactory" /> </service> </deployment> -- Michael Schuerig This is not a false alarm mailto:[EMAIL PROTECTED] This is not a test http://www.schuerig.de/michael/ --Rush, Red Tide