Additional Blogs by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
kevinliu
Product and Topic Expert
Product and Topic Expert
0 Kudos
I have been asked a few times by different people, why there are so many versions of WSDL spec out there, and how they are related to WS-I BP. Thought a simple clarification blog would be helpful for those who are new to Web services area.

WSDL1.1 is a draft initially created by Microsoft and IBM. After incoporated contributions from SAP and others, the draft was submitted to W3C as an input for standardizing a Web services description language. It was accepted as a W3C Note, so technically it's not a "standard". However, almost all the Web services platforms/tools in today's market supports WSDL1.1, including NetWeaver, .NET, WebSphere, WebLogic, you name it. so it's a default "standard" today. If you are developing Web services today, you most likely will deal with WSDL1.1 to some extend.

Unfortunately, like other technology specifications created by individual companies, WSDL1.1 spec contains many ambiguities and even errors. As a result, the interoperability of WSDL1.1 based Web services are compromised since different implmenters may have different interpretation of the ambiguous points and may fix the errors in different way. That's part of the reason WS-I was created. WS-I profiles Web services specifications. It delivered Basic Profile (BP) 1.0 in August 2003 which provides a lot of clarifications and fixes for WSDL1.1 and guidance on how WSDL1.1 should be used with SOAP1.1, UDDI2.0 and XML Schema, etc. so if you have doubts about anything in WSDL1.1, you will most likely find a answer in the BP. If you would like to use a tool to build your Web services, you better choose a tool which is BP compliant, such as NetWeaver 04:). Otherwise, you might be surprised that others don't talk to your Web services.

W3C is working on a "standard" version of WSDL. The working group initially called its deliverable WSDL1.2 since it didn't expect to change WSDL1.1 too much. It actually published a set of working drafts as WSDL1.2 a while ago. However, as the work goes on, the group figure out that a few key changes which are necessary which will break backward compatability with WSDL1.1, so it decided it's better to call the new spec WSDL 2.0.

In summary, WSDL1.1 is what everybody is using today. BP1.0 maybe considered as a patch for WSDL1.1 (and other related specs). WSDL1.2 was a temporary interim version from W3C (and I assume will not be implemented by anybody). WSDL2.0 is going to be the W3C answer for Web services Description language. you've got to be patient to get something from W3C - the final version (so called W3C recommendation) is planned for June 2005.