For starters …
- Only one web service operation per WSDL
- Embedded schemas don’t allow modularization of WSDL by importing XML schemas into the types section.
- Because of 1 and 2, no ability to reuse XML schema definitions across operations.
- No control over generated “container” message type names.
- WSDL-generator lacks awareness of best practices as represented by WS-I Basic Profile 1.0 (not to mention 1.1)
- No ability to describe SOAP Header elements or corresponding Header Fault elements. Most WS-* specifications rely on SOAP header elements.
- Apart from using ServiceNet, no built-in ability to host generated WSDL’s or to generate WSDL’s on the fly such that they can be queried by SOAP clients.
IS Release 7.x will apparently introduce brand spankin’ new functionality to address many of these issues which have existed for the last four years. That is good news and, frankly, essential to the survival of IS as a viable solution in the SOA / web service market.
The bad news is that I am expecting the upgrade from IS 6.x to 7.x to be fairly major which means most existing customers would not see any benefits from these changes until the second half of 2007.
Generating WSDL from any development tool runs the risk that implementation specific details will find their way into the WSDL which is supposed to be an implementation-independent description of a service interface.
Rather than use coding tools to generate an interface from existing service implementation, best practices suggest that WSDL be created first based on service candidates derived from analysis.
Modeling tools supporting WSDL-first are XML Spy Enterprise and the new SOA toolset from Eclipse. There may be others as well and I would suspect that Rational will provide some help in this are shortly if it does not already.