Actually, my main method returns XML to the Client in a JAVA StreamSource class ( not DH ARRAY ). AFAIK, Before leaving the server, this java class is fed to the AXIS run-time on the server for encoding/ serialization via AXIS defaults for the parm entry in the wsdd below-
see <<returnType="ns1:StreamSource" >> I can only guess what your issues with C# may be. I did not solve any problems not involving the simple AXIS / SOAP / XERCES platform that you get with the download of the AXIS toolkit and examples. My 2 cents is that disparate tools generating the WSDL ( XML Apache AXIS versus MS dotNET ) may entail incompatible syntax and may lead to problems like "how come dotNet tools don't understand WSDL generated by AXIS". If I had this problem, one strategy might be to determine whether i need to brute-force a Common flavor of WSDL that's recognized by both Apache and by dotNet and that does not cause either one to burp. Rob, Did you face any interoperability issues when returning the DataHandler array? I am most specifically interested in C# if possible. I couldn't get a C# client to be generated for my web service that returns a DataHandler. Thanks Srinivas -----Original Message----- From: rob rowntree [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 11, 2003 6:23 PM To: [EMAIL PROTECTED] Subject: RE: Sending Array of DataHandlers ref: http://marc.theaimsgroup.com/?l=axis-user&m=105650272318648&w=2 i did some modifications to the server method signature, adding string parm to the Array of DataHandlers. i did not define any mapping for the encoding of DH[]. rather, i let axis default to its own mapping for the array and for the attribute type of each array element. below are the successful wsdd and the wsdl returned by axis on the server in response to a request of type "?WSDL" see <operation name="postFile" --- wsdd --- <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:urn="http://attachment.org/types" xmlns:ns1="http://xml.apache.org/xml-soap" > <service name="urn:EchoAttachmentsService" provider="java:RPC" > <parameter name="className" value="samples.attachments.EchoAttachmentsService"/> <parameter name="allowedMethods" value="echo echoDir postFile"/> <operation name="echo" returnQName="returnqname" returnType="ns1:DataHandler" > <parameter name="dh" type="ns1:DataHandler"/> </operation> <operation name="postFile" returnQName="returnqname" returnType="ns1:StreamSource" > <parameter name="topicname" type="xsd:string"/> <parameter name="attachments" type="ns1:ArrayOf_apachesoap_DataHandler"/> </operation> <typeMapping deserializer="org.apache.axis.encoding.ser.JAFDataHandlerDeserializerFactory " languageSpecificType="java:javax.activation.DataHandler" qname="ns1:DataHandler" serializer="org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </service> </deployment> --- wsdl --- <?xml version="1.0" encoding="UTF-8" ?> - <wsdl:definitions targetNamespace="http://localhost/axis/services/urn:EchoAttachmentsService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/services/urn:EchoAttachmentsService" xmlns:intf="http://localhost/axis/services/urn:EchoAttachmentsService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <wsdl:types> - <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> - <complexType name="ArrayOf_apachesoap_DataHandler"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="apachesoap:DataHandler[]" /> </restriction> </complexContent> </complexType> </schema> - <schema targetNamespace="http://localhost/axis/services/urn:EchoAttachmentsService" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> - <complexType name="ArrayOf_apachesoap_DataHandler"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="apachesoap:DataHandler[]" /> </restriction> </complexContent> </complexType> </schema> </wsdl:types> - <wsdl:message name="echoDirResponse"> <wsdl:part name="echoDirReturn" type="impl:ArrayOf_apachesoap_DataHandler" /> </wsdl:message> - <wsdl:message name="echoDirRequest"> <wsdl:part name="attachments" type="impl:ArrayOf_apachesoap_DataHandler" /> </wsdl:message> - <wsdl:message name="postFileRequest"> <wsdl:part name="topicname" type="xsd:string" /> <wsdl:part name="attachments" type="apachesoap:ArrayOf_apachesoap_DataHandler" /> </wsdl:message> - <wsdl:message name="postFileRequest1"> <wsdl:part name="attachments" type="impl:ArrayOf_apachesoap_DataHandler" /> </wsdl:message> - <wsdl:message name="postFileResponse"> <wsdl:part name="returnqname" type="xsd:anyType" /> </wsdl:message> - <wsdl:message name="echoRequest"> <wsdl:part name="dh" type="apachesoap:DataHandler" /> </wsdl:message> - <wsdl:message name="postFileResponse1"> <wsdl:part name="postFileReturn" type="xsd:anyType" /> </wsdl:message> - <wsdl:message name="echoResponse"> <wsdl:part name="returnqname" type="apachesoap:DataHandler" /> </wsdl:message> - <wsdl:portType name="EchoAttachmentsService"> - <wsdl:operation name="echo" parameterOrder="dh"> <wsdl:input message="impl:echoRequest" name="echoRequest" /> <wsdl:output message="impl:echoResponse" name="echoResponse" /> </wsdl:operation> - <wsdl:operation name="postFile" parameterOrder="topicname attachments"> <wsdl:input message="impl:postFileRequest" name="postFileRequest" /> <wsdl:output message="impl:postFileResponse" name="postFileResponse" /> </wsdl:operation> - <wsdl:operation name="echoDir" parameterOrder="attachments"> <wsdl:input message="impl:echoDirRequest" name="echoDirRequest" /> <wsdl:output message="impl:echoDirResponse" name="echoDirResponse" /> </wsdl:operation> - <wsdl:operation name="postFile" parameterOrder="attachments"> <wsdl:input message="impl:postFileRequest1" name="postFileRequest1" /> <wsdl:output message="impl:postFileResponse1" name="postFileResponse1" /> </wsdl:operation> </wsdl:portType> - <wsdl:binding name="urn:EchoAttachmentsServiceSoapBinding" type="impl:EchoAttachmentsService"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> - <wsdl:operation name="echo"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="echoRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/axis/services/urn:EchoAttachmentsService" use="encoded" /> </wsdl:input> - <wsdl:output name="echoResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/axis/services/urn:EchoAttachmentsService" use="encoded" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="postFile"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="postFileRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/axis/services/urn:EchoAttachmentsService" use="encoded" /> </wsdl:input> - <wsdl:output name="postFileResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/axis/services/urn:EchoAttachmentsService" use="encoded" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="echoDir"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="echoDirRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://attachments.samples" use="encoded" /> </wsdl:input> - <wsdl:output name="echoDirResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/axis/services/urn:EchoAttachmentsService" use="encoded" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="postFile"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="postFileRequest1"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://attachments.samples" use="encoded" /> </wsdl:input> - <wsdl:output name="postFileResponse1"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/axis/services/urn:EchoAttachmentsService" use="encoded" /> </wsdl:output> </wsdl:operation> </wsdl:binding> - <wsdl:service name="EchoAttachmentsServiceService"> - <wsdl:port binding="impl:urn:EchoAttachmentsServiceSoapBinding" name="urn:EchoAttachmentsService"> <wsdlsoap:address location="http://localhost/axis/services/urn:EchoAttachmentsService" /> </wsdl:port> </wsdl:service> </wsdl:definitions> --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.524 / Virus Database: 321 - Release Date: 10/6/2003 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.524 / Virus Database: 321 - Release Date: 10/6/2003