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".
See also
Bottom-up or Top-down.
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.
See also
JAX-RPC vs JAX-WS