Saturday, November 20, 2010

WsiHero: A GUI utility for web services WSI validation


Download WsiHero (3MB)

Last week was an important moment for web services interoperability: WS-I has approved the final versions of Basic Profile (BP) 1.0 and 2.0 and of Reliable Secure Profile (RSP) 1.0. These profiles are a set of rules which web services vendors and consumers are expected to comply with in order to support interoperability. The original profile goes back to 2004 and was highly successful in improving web services interoperability.

So how do we test our web services for WSI profiles compliance?
The WSI site contains a deliverables section which has a few command line utilities to check the services. Using these command lines directly has some overhead like a learning curve for all the options, preparing the input wsdl / soap files in the specific log format, and repeating this manual task every time.

I have written the WsiHero utility to make this validation simpler.

How to become a WSI hero?
If you want to easily validate your service for WSI compliance and become a WSI hero then Download WsiHero. It is a GUI application which saves you the need to deal with the WSI command line and its strict log format.



Installation
1. Ensure Microsoft .Net framework 2.0 or higher is installed (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en).

2. Ensure Java 5 or higher is installed (http://www.java.com/en/download/index.jsp).

3. Download WsiHero and extract it to some folder, for example c:\program files\WsiHero.

4. Since it is not legal for me to distribute the WSI command line utility, please download it by yourself as follows:

Download these two zip files to your machine:

http://ws-i.org/profiles/BPTestToolsProcess-1.2-2.0-Final.zip
http://www.ws-i.org/profiles/RSP1.0-Delivery-Package.zip

Do not extract them, just put them as .zip in the WsiHero folder (c:\program files\WsiHero). Do not change their names.


In case the direct links do not work for some reason here is how to get the above files from the WSI site: From the "deliverables" section of the site download "BP 1.2 and 2.0 Test Tools package" and "Reliable Secure Profile Delivery Package".

Usage
1. Run WsiHero.exe from its folder.

2. Paste a Wsdl or a Soap file location into the text box and press "Add".


Notes:

  • Location can be a local disk path or a Url.
  • If the file contains Soap it must have the .Xml extension. Otherwise it is assumed to be a Wsdl.

    For example any of the following can be put in the text box:

    c:\soap_envelopes\soap.xml
    c:\wsdl\service.wsdl
    http://www.service.com/MyService.svc?wsdl

    If you do not have any Wsdl available you can to use http://webservices.daehosting.com/services/TemperatureConversions.wso?WSDL

    3. Repeat step (2) any number of times.

    4. Click the arrow near the validation button and choose the validation type you want to perform:

  • For Soap 1.1 services choose "Basic Profile 1.2".
  • For Soap 1.2 services choose "Basic Profile 2.0".
  • For secured / reliable services choose "Reliable Secure Profile 1.0" (you may want to test such services also with one of the former options).



    After a few seconds (depending on the input size) the WSI report will appear:



    I plan to open source and enhance this utility soon.
    Let me know if you have any problem or a feedback.

    What's next? get this blog rss updates or register for mail updates!
  • 4 comments:

    Moshe said...

    Yaron, you don't stop surprising.

    tatman said...

    thank you for your tool. definitely nice to be able to not have to dig through the command line sometimes.

    Do you have some information that can help explain the reports generated?

    I ran WSDL file (that svcutil cannot import). The report generated doesnt seem to report anything meaningful.

    Yaron Naveh (MVP) said...

    Hi Matt

    There are a lot of checks there so you would need to be more specific. Which error did the report show?

    One common gotcha is that you run BP 1.2 on a wsdl with Soap 2.0 or vice versa.

    Anonymous said...

    Get Error "Could not load file or assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'" when pushing 'Show Wsi Report'

    It looks like a dependency to .Net 3.5, although there's only .Net 2 listet on the dependencies.