Well, it was a while since I’ve posted – mainly since my partner (Doron) is in Japan, and I have to do the work of two.
But there is a 10 minutes break now, and I really wanted to blog these issues:
1. If you need WAS 6.1 to work with WS-Security and C# clients – drop it. The built in web services support in WAS – JAX-RPC or JAX-WS, just doesn’t work.
2. If you send WAS web services, with large content from C# and get SRVE0080E: Invalid content length – you need to set the sendChunk=false property on the .net request client. This will fix it.
Well, just read this. It’s an article by IBMers on versioning of web services and schemas. I got this URL from @kfrion after a phone call we had together concerning the versioning of APIs.
The article highlights the same problem I’m presenting in my SOA classes and to my customers. Generating WSDL is great. Whether you’re using VS.Net or AXIS/CXF/Metro – WSDL is automatically generated and it works just fine.
However, if you want to use company standard XSDs (from your repository of business objects), to enforce policies, or anything like that – you’re stuck. The reason – WSDL editing tools are just not good enough.
And if you need to upgrade your WSDL version – changing the target URL, the schema and so on – then you’re on the road to hell, since it requires so much low level understanding of the schema and WSDL specs that your chance of getting it right is slim.
So, what we really need are tools that will allow us to set everything in the WSDL from our code annotations (schema locations, policies, etc.), and can understand changes we made to our programming language code, and generate a backward compatible WSDL according to all versioning best practices.
I’ve developed something like that (very very limited) in C#. If someone is interested – reply or mail me.
Well, time to join Technorati. So here is the code – hbsqcxpkyg… Hope all goes well.