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

Reply via email to