views:

562

answers:

4

Sorry for such naive question,but can any one can explain me the difference between java web services(jax-ws) and .Net web services behaviours?.

Thanks you....

A: 

A client should not be able to distinguiish between web services implemented using either technology, or ideed any other technology. The promise of Web services is that they should be interoperable across many platforms, and service providers can use whatever technologies they prefer, so a Java shop would use Java, JAX-WS for example, and .NET shoop their technologies - clients just don't care, they use the WSDL.

Things get a bit more interesting when we move away from basic SOAP/HTTP web services and use standards for security, transactions, messaging etcs (the whole WS-* space). Ideally the implementation transparancy is still true, but you can't count on an arbitrary implementor supporting what you want to do. The WS-I organisation, and it's participating vendors, do a great deal of work to ensure interoperability, so the story is not too bad even for these more advanced WS-* standards.

djna
A: 

Be carefull, wcf compares to metro, jax-ws has just the basics, not all the ws* stuff.

Metro and WCF implements an interoperation standar wse 3. And can communicate with each other through xml without any problem, you just do not know if the service is .net or java based.

Regards

Pablo Castilla
+2  A: 

Since the term "web service" is used with slightly diverging meanings, I assume we're talking about its W3C definition.

This definition basically defines to specifications: WSDL and SOAP. Additionally, there are a bunch of other specifications known as WS-* that define special usage of WSDL and SOAP for special purposes (e.g. security).

Both, Java and .NET try to implement a web service engine that adheres to these specifications. Since these specifications are fairly complex, both make mistakes. Furthermore, the goal of providing interoperability is not completely meet. For example, the SOAP specification defines an optional SOAPAction HTTP header that is not used in JAX-WS but is required in .NET (Don't know if this is still true for current versions).

So the Metro (Metro is a web service engine using JAX-WS) web site mentions regular interoperability tests with .NET

By the way, JAX-WS is the name of specification as well as a reference implementation thereof.

wierob
+1  A: 

Ideally, the idea of web-services is to not give you a chance to have such a questions. :)

gedevan