Posts

Showing posts from December, 2005

WSDL and Extensibilty

If you are curious about any vs. anyType, here is a recent paper from Russell Butek that may be helpfull. For me, the common usage of any / anyType remains the way the DataSet are exposed in WSDL, with Microsoft .NET 1.1: <s:element name="GetAuthorsResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetAuthorsResult">
<s:complexType>
<s:sequence>
<s:element ref="s:schema" />
<s:any />
•••
</s:element>
A basic rule to keep in mind, when you author your own WSDL files. Uses xsd:anyType where you will otherwise use xsd:int, xsd:string or any other XML type. Uses xsd:any where you will otherwise use a named element (not a type).And to keep out of trouble, only use xsd:anyType when you want to handle arbitrary XML documents. Refrain yourself from using it when you try to thi…

Is WS-I BP good for you?

Image
As I spend time looking at web services in real life, there is a question that is comming back, all the time:
What is wrong with my WSDL?

Today, I am looking at Microsoft Office 2003 Web Services Toolkit. Why do I get 0 as Search Results with a WSDL that is looking good, and pass the WS-I Basic Profile report without any error?
Here is a screen shoot with the error message. This error is not listed as one of the top-5 common problems [look at the troubleshooting section].
.
Using the A9 search with image-on was an easy way to locate atricles with the screen that is giving me troubles. For this sample, I am using a WSDL from systinet.
As you do not have access to this service, hosted by Systinet, you have to work without access to the server. It's as simple as one-two:

make a local copy of the WSDL.on your local copy, remove the 'parts' attribute on all the soap:body elements, inside the binding. <input>
<soap:body parts='parameters' use='literal'/>
<…