Anne
On 12/19/05, Ben Reif <[EMAIL PROTECTED]> wrote:
Unfortunately I can't change the method signiture of my existing service class to return an array because it implements an interface that other things expect it to conform to because they use it as well. Won't the List automatically get handled by the ArraySerializer/Deserializer and get transported as an array over the wire? Do I need to specify an <arrayMapping> in my wsdd file and then make my <operation> reference that type? Something like this:<arrayMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
innerType="coretest671:WSObject"
languageSpecificType="java:com.ams.coretest.domain.test.webservices.WSObject[]"
qname="ns:ArrayOfWSObject"
xmlns:coretest="http://CoretestWebServices/service/WSObjectService"
xmlns:coretest671="http://webservices.test.domain.coretest.ams.com"/><operation name="query" qname="ns:query" returnQName="ns:Array" returnType="ns:ArrayOfWSObject" xmlns:ns="http://schemas.xmlsoap.org/soap/encoding/">
<parameter mode="IN" name="list" qname="ns:list" type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
</operation>Also, because it's doc / lit should I not have the encoding style in the arrayMapping or use the soapenc prefix in my input parameter type?Thanks again for all of your help and replies,Ben
From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]]
Sent: Friday, December 16, 2005 4:25 PM
To: [email protected]
Subject: Re: wsdd <operation> - How do I represent return type of List?Ben,
For better interoperability, you should convert your list into an array.
See http://www.osmoticweb.com/axis-wsdd/operation.htm for documentation of the WSDD <operation> definition.
name = the name of the Java method
qname = the qname of the element that represents the method name in XML
returnQName = the qname of the element that represents the return value in XML
returnType = the XML type of the element that represents the return value
Anne
On 12/16/05, Ben Reif <[EMAIL PROTECTED]> wrote:I'm using Axis 1.3 to create document / literal style services, so as I understand it, I need to be more declarative in my wsdd file and define the operations. I have a method in my service that returns a List of complex type objects. In reading through the documentation I need to set the name, qname, returnQName, and returnType attributes. Something like:<operation name="query" qname="?" returnQName="?" returnType="?">I also noticed in the WSDDConstants class there were constants defined for returnItemQName, returnItemType, itemQName, and itemType attributes, but there is no mention of them in the documentation. Can anyone explain how to represent a List of complex types as either an input parameter or a return parameter in the <operation> tag? Also, what's the difference between qname, returnQName and the returnType (which could also be a QName maybe?).Thanks a bunch,Ben
