Two Laptop Bag
The moose likes Web Services and the fly likes Overloaded operations Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Java » Web Services
Reply Bookmark "Overloaded operations" Watch "Overloaded operations" New topic
Author

Overloaded operations

Esteban Puertas
Greenhorn

Joined: Mar 23, 2008
Posts: 22
Hi,
I started to build my web service using the document/literal wrapped pattern but I realised that this was not a good choice for me after I tried to add an overloaded method (I found this excellent page that explains the different wsdl styles Which style of WSDL should I use?).

I was thinking to use the document/literal non-wrapped style but wsimport is not happy because it seems to encourage the use of WS-I Basic profile wich disallows the use of miltiple children in the body element.
When trying to execute wsimport I recieve the following output: "[WARNING] Ingoring operation "myOperation": more than one part bound to body".

Does someone knows how to deal with overloaded operations while being WS-I Basic profile compliant ?

Thank you for any ideas :-)
Peer Reynders
Bartender

Joined: Aug 19, 2005
Posts: 2906
Originally posted by Esteban Puertas:
Does someone knows how to deal with overloaded operations while being WS-I Basic profile compliant ?


As the article you reference points out WSDL 2.0 disallows overloaded operations completely - so forget about overloading your web operations. If you do Java-to-WSDL on overloaded methods the code generation will have to create mangled names for the operations (RPC/literal) or document type (document/literal) in the WSDL.

According to XML schema each type (and ultimately document) can only have one definition - so overloading makes no sense for document/literal - wrapped or not - and if you are thinking of using the XML schema union element - don't; it will just create grief for your clients.

SOA in Practice: The Art of Distributed System Design (p44):
Based on my own experience (and others), I recommend that you have a basic set of fundamental types that you can compose to other types (structures, records) and sequences (arrays). Be careful with enumerations (an anachronism from the time when each byte did count - use strings instead), inheritance and polymorphism (even when XML supports it).


And whenever you feel the urge to force OO (or RPC) concepts onto XML data remind yourself about the object-hierarchical impedance mismatch (See also contract first).
[ March 31, 2008: Message edited by: Peer Reynders ]

"Don't succumb to the false authority of a tool or model. There is no substitute for thinking."
Andy Hunt, Pragmatic Thinking & Learning: Refactor Your Wetware p.41
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Overloaded operations
 
Similar Threads
WSDL 2.0 - overloaded operation ?
Why do I see different wsdl and xsd generated for webservice through wsgen.
WS-I Basic Profile 1.1 Validation
These two examples comparing RPC/Lit vs Document/Lit have me a bit confused
Need Help regarding -- org.xml.sax.SAXException: Invalid element