axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Simmons <dsimm...@seanet.com>
Subject RE: Custom mapping's and DataHandlers?
Date Thu, 13 Nov 2003 06:38:09 GMT

Hi, we don't use java on the client side, we use gSOAP (C++).  The issue 
with having the server accept a DataHandler is that there is, as far as I 
can tell, no defined mapping from a DataHandler to any combination of C++ 
or C# types.  If you define a WSDL file using this type, no non-java 
toolkit will be able to figure out what a DataHandler "is".

What I was suggesting is that the server side must export and accept files 
/ BLOBs using a type that does have a well-defined mapping to C++ and C# 
base types, in other words that you must write your own code on the server 
side to marshall the attachment to / from a simple binary buffer which can 
be sent / received using the well-defined base64Binary type.

<definitions 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
xmlns:s="http://www.w3.org/2001/XMLSchema"  ...
xmlns="http://schemas.xmlsoap.org/wsdl/">

...
       <s:complexType name="GetImageReturnParam">
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="1" name="Image" 
type="s:base64Binary" />
         </s:sequence>
       </s:complexType>
       <s:element name="AddExamImage" type="s0:AddExamImageParams" />
       <s:complexType name="AddImageParams">
         <s:sequence>
           <s:element minOccurs="1" maxOccurs="1" name="FolderID" 
type="s:int" />
           <s:element minOccurs="0" maxOccurs="1" name="FileName" 
type="s:string" />
           <s:element minOccurs="0" maxOccurs="1" name="Image" 
type="s:base64Binary" />
         </s:sequence>
       </s:complexType>

The types in the above WSDL are the response from a service to download an 
image file, and a service to upload an image to a folder using the name 
supplied.  In this case the server is IIS with .NET and the client it gSOAP 
(C++).

----Dave


At 02:10 PM 11/12/2003 -0500, you wrote:
>I am trying to understand this interop issue in relation to my
>applications requirements.
>
>My clients are sending a .war file as an attachment to my service. My
>client is adding it as an attachment using a ByteArrayDataSource. The
>server gets the DataHandler InputStream and streams the content to file
>or DB. The client is using DIME.
>
>In order to interoperate with all SOAP(DIME) clients does the client
>have to Base64 encode the .war byte[] before adding the attachment or
>will this byte[] get encoded by DIME and be properly decoded by any DIME
>client?

Mime
View raw message