difference between java (jax-ws) web service and .net web service?

.net, java, web-services

Solution

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.

Problem

Sorry for such a naive question, but can anyone explain to me the difference between Java web services (jax-ws) and .Net web services behaviours?

Original source