You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Vivek Nagulapati <vi...@hotmail.com> on 2004/02/28 02:08:04 UTC

Re: AXIS "interoperability" question [It is indeed questionable....]

Hi Hari,

I strongly feel that Axis interoperability solutions are still in their 
nascent stages.

My ratiocination for this statement:

I have been trying to communicate with a web service developed on Axis from 
a .NET client. Web service is supposed to return a "Document" object and I 
have been trying to accomplish this implementation in vain. I had to resort 
to an implementation which serializes Document object to a string.

So my question is "Is interoperability of Axis solutions limited to basic 
data types like int, string and arrays"?

Vivek


>From: ian_d_stewart@bankone.com
>Reply-To: axis-user@ws.apache.org
>To: axis-user@ws.apache.org
>Subject: Re: AXIS interoperability question
>Date: Fri, 27 Feb 2004 15:23:05 -0500
>
>The client should generate their own stub classes (or whatever the .NET
>equivelant is) based on the generated WSDL.  The
>serialization/deserialization process of the client is unrelated to the
>serialization/deserialization process used by the server.
>
>
>HTH,
>Ian
>
>
>
>
>                     "Hari
>                     Lakshmanan"          To:     <ax...@ws.apache.org>
>                     <hari@wakesoft       cc:
>                     .com>                Subject:     AXIS 
>interoperability question
>
>                     02/27/2004
>                     03:05 PM
>                     Please respond
>                     to axis-user
>
>
>
>
>
>
>Hi,
>If I have implemented web service provider  using AXIS and also used custom
>serialization / deserialization (based on AXIS specific serialization) does
>the client always needs AXIS specific serialization / deserialization? How
>does this work with a .NET client or client using different SOAP engine
>(other than AXIS)?
>
>Thank you for your time
>
>__hari
>
>
>
>
>
>
>This transmission may contain information that is privileged, confidential 
>and/or exempt from disclosure under applicable law. If you are not the 
>intended recipient, you are hereby notified that any disclosure, copying, 
>distribution, or use of the information contained herein (including any 
>reliance thereon) is STRICTLY PROHIBITED. If you received this transmission 
>in error, please immediately contact the sender and destroy the material in 
>its entirety, whether in electronic or hard copy format. Thank you.
>

_________________________________________________________________
Dream of owning a home? Find out how in the First-time Home Buying Guide. 
http://special.msn.com/home/firsthome.armx


Re: AXIS "interoperability" question [It is indeed questionable....]

Posted by Dan Christopherson <da...@nvisia.com>.
I'm not going to tell you that WS Interoperability is a mature feature 
of any web service toolkit; rather, they all have problems rising from 
their varying level of XML conformance. Axis is, however, the only 
toolkit that I have confidence that I can make generate valid SOAP 
messages for any valid WSDL. This is _only_ because of its flexibility 
and its lower level features which allow me to get down to low level 
SOAP/DOM trees if I need to. Whether any other toolkit can use that 
message is another question.

To pass XML/DOM structures out of an Axis based web service, you should 
be specifying document/literal encoding in your wsdl and use Axis' 
"Message" style service implementation to pass the DOM tree out to Axis 
for the document to be properly embedded in the SOAP envelope. With this 
technique, you circumvent the Axis marshalling code, so if there's an 
interoperability problem with the message body, you have only yourself 
to blame!

You'll have a proper XML fragment, corresponding to the XML schema you 
specify in your WSDL, in the body of the SOAP message.

I've done this: it works and is probably your best hope for 
interoperability, if your xml schema is very complex.

For a Java client, the equivalent makes use of the low-level APIs in 
javax.xml.soap (see SOAPConnection, SOAPMessage, etc.). This allows you 
(given a bit of programming) to pass a DOM tree to the server and get 
the response as a DOM tree.

How you get a DOM tree out of a SOAP envelope in .NET is a question 
better asked of .NET experts ;^)

Reader beware: using this technique, you can use XML schemas that may 
confuse many of the existing SOAP toolkits horribly - NONE of the 
toolkits I've worked with (IBM's proprietary one, .NET, something from 
TIBCO) will properly generate client stubs for some of the OASIS 
schemas, for example.

Vivek Nagulapati wrote:
> 
> Hi Hari,
> 
> I strongly feel that Axis interoperability solutions are still in their 
> nascent stages.
> 
> My ratiocination for this statement:
> 
> I have been trying to communicate with a web service developed on Axis 
> from a .NET client. Web service is supposed to return a "Document" 
> object and I have been trying to accomplish this implementation in vain. 
> I had to resort to an implementation which serializes Document object to 
> a string.
> 
> So my question is "Is interoperability of Axis solutions limited to 
> basic data types like int, string and arrays"?
> 
> Vivek
> 
> 
>> From: ian_d_stewart@bankone.com
>> Reply-To: axis-user@ws.apache.org
>> To: axis-user@ws.apache.org
>> Subject: Re: AXIS interoperability question
>> Date: Fri, 27 Feb 2004 15:23:05 -0500
>>
>> The client should generate their own stub classes (or whatever the .NET
>> equivelant is) based on the generated WSDL.  The
>> serialization/deserialization process of the client is unrelated to the
>> serialization/deserialization process used by the server.
>>
>>
>> HTH,
>> Ian
>>
>>
>>
>>
>>                     "Hari
>>                     Lakshmanan"          To:     
>> <ax...@ws.apache.org>
>>                     <hari@wakesoft       cc:
>>                     .com>                Subject:     AXIS 
>> interoperability question
>>
>>                     02/27/2004
>>                     03:05 PM
>>                     Please respond
>>                     to axis-user
>>
>>
>>
>>
>>
>>
>> Hi,
>> If I have implemented web service provider  using AXIS and also used 
>> custom
>> serialization / deserialization (based on AXIS specific serialization) 
>> does
>> the client always needs AXIS specific serialization / deserialization? 
>> How
>> does this work with a .NET client or client using different SOAP engine
>> (other than AXIS)?
>>
>> Thank you for your time
>>
>> __hari
>>
>>
>>
>>
>>
>>
>> This transmission may contain information that is privileged, 
>> confidential and/or exempt from disclosure under applicable law. If 
>> you are not the intended recipient, you are hereby notified that any 
>> disclosure, copying, distribution, or use of the information contained 
>> herein (including any reliance thereon) is STRICTLY PROHIBITED. If you 
>> received this transmission in error, please immediately contact the 
>> sender and destroy the material in its entirety, whether in electronic 
>> or hard copy format. Thank you.
>>
> 
> _________________________________________________________________
> Dream of owning a home? Find out how in the First-time Home Buying 
> Guide. http://special.msn.com/home/firsthome.armx
>