• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

RPC/literalor, Document/literal and WS-I Basic Profile

 
Ranch Hand
Posts: 548
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi All,

Why is RPC/encoded style Web Services/WSDL not interropable ?

What are the various (min. 5) differences from a programmer/webservice-developer-point-of-view between these wsdl styles the RPC/literalor, Document/literal and RPC/encoded ?
 
Ranch Hand
Posts: 906
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That's mostly because the SOAP spec if fuzzy about encoding. So each implementation can have its own way to represent, code and decode data.
This can lead to serious interoperability problems.
Let's take a simple example : a String parameter.
The SOAP spec allows different representations of a String object (both are correct):

* SOAP-ENC:string
* xsd:string

So imagine you're consuming a service to obtain the name of the best java website
( btw, the response is like : <BestJavaWebSite>www.javaranch.com</BestJavaWebSite> )

Due to your SOAP implementation, you are waiting for a response like

but because the .Net provider of the service has chosen another representation of the String datatype, you receive :


Then you've got an interoperability problem your SOAP engine will not be able to resolve.
If such a problem can arise with a simple datatype like String, imagine the trouble with more complex elements !!!
That's why WS-I decided to discourage ENCODED style. (And J2EE 1.4 adopted WS-I basic profile.)


Moreover, even if RPC-encoded sounds very simple to use, many tests have pinpointed scalability problems with the encoded style. So a professional web service will be far more efficient if it is designed using the LITERAL style.
[ December 15, 2004: Message edited by: Jean-Louis Marechaux ]
 
Rr Kumaran
Ranch Hand
Posts: 548
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jean-

That explains clearly some points but what is the difference between type="SOAP-ENC:string" and type="xsd:string" and what difference does they make to the soap engine.

Also can you please answer to second part of my original question
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic