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 03:44:36 UTC

Re: AXIS "interoperability" question

Hello Dan,

I deeply apologize, if my controversial posting ;) has inflicted anyone 
(esp.. Axis developers) who have been working real hard to improve the Axis 
framework.

I cannot simply disregard the great work they are doing right now.

I solely posted the question with a "catchy" heading in a hope to get few 
pointers from someone. I have been banging my head on this but could not get 
any satisfactory responses. Atlast now I can go in the right direction.

Thanks a lot and I really appreciate your help
Vivek


>From: Dan Christopherson <da...@nvisia.com>
>Reply-To: axis-user@ws.apache.org
>To: axis-user@ws.apache.org
>Subject: Re: AXIS "interoperability" question [It is indeed 
>questionable....]
>Date: Fri, 27 Feb 2004 20:03:28 -0600
>
>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
>>
>

_________________________________________________________________
Watch high-quality video with fast playback at MSN Video. Free! 
http://click.atdmt.com/AVE/go/onm00200365ave/direct/01/


Re: AXIS "interoperability" question

Posted by Dan Christopherson <da...@nvisia.com>.
Well, I'm not an Axis developer, just to be sure you understand that.

I thought that maybe you were mostly speaking out of frustration because 
I'd seen your earlier post and just didn't have time to share my 
experience at that point.

Things are at an early point with interop right now, and while SOAP is a 
good tool for interop, it still takes some care to make sure that what 
you're doing with it can be supported in all of your target platforms. 
With the nature of the XML standards (which are w3c 'recomendations' 
BTW) I don't think that will change.

Glad that I could be of some help, even if it wasn't more timely.

-danch

Vivek Nagulapati wrote:
> 
> Hello Dan,
> 
> I deeply apologize, if my controversial posting ;) has inflicted anyone 
> (esp.. Axis developers) who have been working real hard to improve the 
> Axis framework.
> 
> I cannot simply disregard the great work they are doing right now.
> 
> I solely posted the question with a "catchy" heading in a hope to get 
> few pointers from someone. I have been banging my head on this but could 
> not get any satisfactory responses. Atlast now I can go in the right 
> direction.
> 
> Thanks a lot and I really appreciate your help
> Vivek
> 
> 
>> From: Dan Christopherson <da...@nvisia.com>
>> Reply-To: axis-user@ws.apache.org
>> To: axis-user@ws.apache.org
>> Subject: Re: AXIS "interoperability" question [It is indeed 
>> questionable....]
>> Date: Fri, 27 Feb 2004 20:03:28 -0600
>>
>> 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
>>>
>>
> 
> _________________________________________________________________
> Watch high-quality video with fast playback at MSN Video. Free! 
> http://click.atdmt.com/AVE/go/onm00200365ave/direct/01/
>