This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Let�s say I published a web service using Java into the UDDI and after that, I want to consume it. I can consume it from Java or using Dot net also right?/ because basically the response I get back is a SOAP message which is in XML format and is platform independent. So where does JAX-RPC concept come here? I am asking this because I read that JAX-RPC�s main benefit is portability. If what I asked does not make much sense please don�t get mad, I am a total novice.
Originally posted by Arjun Reddy: Let�s say I published a web service using Java into the UDDI
UDDI doesn't care that your service was implemented in Java. The UDDI is interested in
your WSDL, which specifies the SOAP requests and responses that your service supports; this is your service's contract (interface)
categorization information that specifies what the service offers, who may benefit from it, and who it belongs to
Also you don't need UDDI to consume the web service - all you need is the WSDL. See also UDDI With JAXR
I can consume it from Java or using Dot net also right?
Theoretically yes - however the practice is quite different. Problems can even occur between a Java service and a Java client that are using different web service stacks. Most problems occur with services that are developed contract-last, mainly because the WSDL generator lets details of the service implementation and its implementation platform leak into the web service contract - details that can choke some clients. The potential problems can be avoided by developing your web service contract first and restricting yourself to only commonly used XML Schema features (e.g. avoid enumerations, inheritance, restriction, etc.) in your schema definition. This part deals with "interoperability", not "portability".
So where does JAX-RPC concept come here? I am asking this because I read that JAX-RPC�s main benefit is portability.
JAX-RPC 1.1 is the web service stack that has to be supported in every J2EE 1.4 compliant application server. You use the JAX-RPC server side API to implement your web service and the JAX-RPC client side API to access other web services. "portability" simply means that every J2EE 1.4 compliant application server has to support the JAX-RPC API. JAX-RPC is a legacy API which is still supported under Java EE 5 but most likely will not be supported in the next version of the Enterprise Edition specification. JAX-WS has replaced JAX-RPC.