Good Web services interoperability is an absolute must for a successful SOA implementation, but why interoperability has been so difficult to achieve?
I think that inability to comply with a published Web services contract expressed via its WSDL/Schema could be one of the leading causes of interoperability problems (I use the term "interoperability" pretty broadly here).
For example:
My biggest pet peeve is that most JAX-RPC implementations today don't even support schema validation out of the box (hopefully this will change in JAX-WS). I understand that full validation against a schema could be expensive, but can we at least handle required parameters/fields as they defined in the schema? Types mismatch will certainly cause an error, why not a missing mandatory field?
Note that I'm not talking about WS-I profiles, .NET/Java interop, and differences in WS-* implementations. I've seen all of the above problems while working with different Web services implementations in Java (mostly JAX-RPC).
And it is not just about interoperability - reliance on subtle conventions as opposed to a published contract makes architectures more fragile and more tightly coupled.
So my advice is simple - write a handler (at lest for development/test environments) and enable schema validation on the server and, under some circumstances (i.e., you don't control the service), on the client. This will save you from many interoperability problems, guaranteed.
Привет! если не секрет что за тема у тебя на блоге? Давно что нить подобное визуальное ищу.
Privet!
I used “steam” (http://managedtasks.com/wpthemes/blog/index.php?wptheme=Steam) as the starting point for the blog and then I heavily customized it.
rpc server is unavailable xp…
[...]Schema Compliance is the Key to Interoperability[...]…