File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Web Services and the fly likes Soap message formats Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of JavaScript Promises Essentials this week in the JavaScript forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "Soap message formats" Watch "Soap message formats" New topic
Author

Soap message formats

JeanLouis Marechaux
Ranch Hand

Joined: Nov 12, 2001
Posts: 906
Hi all,

I would like to have you point of view about SOAP, the existing programming models, the message formats, and most of all, the evolution of the technology.
Of course, I would appreciate if Mr Ramesh Nagappan could give his opinion as a Sun Architect.
I�m quit new to Web services (beginning of march), so please forgive me if my understanding of that technology is not accurate.
My understanding is that there is 2 programming models
-SOAP Messaging (Document-centric)
-SOAP RPC (RPC calls)
Inside these programming models, there is the message format (encoding)
-SOAP RPC allows : rpc-encoding (aka section 5) and Literal encoding
-SAP Messaging only wrap a XML doc within an envelope
For interoperability reasons, WS-I is gonna discouraged SOAP RPC using rpc-encoding.
So the future WebServices should only deal with :
-SOAP Messaging Document Centric
-SOAP RPC using Literal encoding
Does this make sense for you ??
It sounds like JAX-RPC will be part of J2EE 1.4. So Sun seems to encourage RPC.
On the other hand, my understanding of the .Net plateform is that Microsoft use RPC as default programming model, even if their vocabulary is different (RPC / Document Style)

So my point is :
Due to web services evolution, is the only programming model to use today is RPC with Literal encoding Style ? Is it the way Web Services has to be today in order to be in accordance with web services in a near future ?
Please correct any false statement and share you expertise


/ JeanLouis<br /><i>"software development has been, is, and will remain fundamentally hard" (Grady Booch)</i><br /> <br />Take a look at <a href="http://www.epfwiki.net/wikis/openup/" target="_blank" rel="nofollow">Agile OpenUP</a> in the Eclipse community
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Personally, I see the document-oriented (SOAP Messaging) approach having more value than RPC. This is because the RPC stuff seems more restrictive--there are a lot of situations where I'd like to be able to pass around XML documents, not objects.


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
JeanLouis Marechaux
Ranch Hand

Joined: Nov 12, 2001
Posts: 906
Using RPC literal,you do pass XML documents within org.w3c.dom.Element
Of course, with some programming languages (any example?), it could be an unknown type difficult to deal with
[ May 07, 2003: Message edited by: Jean-Louis Marechaux ]
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Originally posted by Jean-Louis Marechaux:
Using RPC literal,you do pass XML documents within org.w3c.dom.Element

True, but where's the beef in passing encoded XML documents within an XML document? I think it's more intuitive to use the document-style encoding. In addition, I dislike (subjective opinion) the notion of calling a function (the SOAP-Action or whatever). I admit that RPC is good/better option for many applications. Maybe it's just that I have had to think about certain integration issues where having full control of the XML being passed is a real benefit.
JeanLouis Marechaux
Ranch Hand

Joined: Nov 12, 2001
Posts: 906
Lasse,
Can I ask you which WS implementation you are using ?
I work with Apache SOAP 2.3 and the messaging approach with it is....repuslive :-)
I have to call the messagerouter servlet and my webservice method has to conform to a mandatory signature like :
myMethod(Envelope requestEnvelope,
SOAPContext requestContext,
SOAPContext responseContext)
Maybe I missed something in Apache SOAP (?), but I feel like calling a RPC method where the signature is the one I want is better
Ramesh Nagappan
Author
Ranch Hand

Joined: May 06, 2003
Posts: 159
Originally posted by Jean-Louis Marechaux:
Hi all,

I would like to have you point of view about SOAP, the existing programming models, the message formats, and most of all, the evolution of the technology.
Of course, I would appreciate if Mr Ramesh Nagappan could give his opinion as a Sun Architect.
I’m quit new to Web services (beginning of march), so please forgive me if my understanding of that technology is not accurate.
My understanding is that there is 2 programming models
-SOAP Messaging (Document-centric)
-SOAP RPC (RPC calls)
Inside these programming models, there is the message format (encoding)
-SOAP RPC allows : rpc-encoding (aka section 5) and Literal encoding
-SAP Messaging only wrap a XML doc within an envelope
For interoperability reasons, WS-I is gonna discouraged SOAP RPC using rpc-encoding.
So the future WebServices should only deal with :
-SOAP Messaging Document Centric
-SOAP RPC using Literal encoding
Does this make sense for you ??
It sounds like JAX-RPC will be part of J2EE 1.4. So Sun seems to encourage RPC.
On the other hand, my understanding of the .Net plateform is that Microsoft use RPC as default programming model, even if their vocabulary is different (RPC / Document Style)

So my point is :
Due to web services evolution, is the only programming model to use today is RPC with Literal encoding Style ? Is it the way Web Services has to be today in order to be in accordance with web services in a near future ?
Please correct any false statement and share you expertise

Jean,
I forwarded you my presentation via email...that should help addressing most of your questions. If you are keen to learn JAX-RPC, you may download our book free chapters from
http://developer.java.sun.com/developer/Books/j2ee/devjws/
Answering you question WS-I, WS-I Basic Profile 1.0 supports only SOAP-RPC and sets interoperability standards. J2EE 1.4 will support WS-I Basic Profile 1.0. So it's wise to choose JAX-RPC than other SOAP implementations.
Good luck
/Ramesh


Ramesh Nagappan CISSP<br />Co-Author of "Core Security Patterns"<br />nramesh@post.harvard.edu<br /><a href="http://www.coresecuritypatterns.com" target="_blank" rel="nofollow">www.coresecuritypatterns.com</a>
JeanLouis Marechaux
Ranch Hand

Joined: Nov 12, 2001
Posts: 906
Originally posted by Ramesh Nagappan:

Answering you question WS-I, WS-I Basic Profile 1.0 supports only SOAP-RPC and sets interoperability standards. J2EE 1.4 will support WS-I Basic Profile 1.0. So it's wise to choose JAX-RPC than other SOAP implementations.
Good luck
/Ramesh

Thanks Ramesh,
I've received your presentation but did not have enough time to read it yet (125 pages, wow )
Right now, I can't use Jax-RPC 'cause Apache SOAP dos not support it. But as soon as I move to Axis...
Concerning WS-I and JAX-RPC, do you mean that to be J2EE 1.4 compliant, it will not be possible to use the SOAP messaging model ? So that RPC is the only programming model to choose right now
Could you clarify this point please
[ May 07, 2003: Message edited by: Jean-Louis Marechaux ]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Soap message formats