Validating SOAP Web Service Compliance with WS-IT – Four Approaches

2019/10/15

Web Service Interoperability Technology (WS-IT) ensures a fundamental compatibility of SOAP Web Services across major framework implementations.

Originally conceived as a agreement between Java and .NET, it is now supported across multiple technologies.

There are multiple approaches to WS-IT Compatibility Checks:

. Use Eclipse IDE with Eclipse Java Web Developer Tools. . Use https://www.soapui.org/[SoapUI] and WS-IT Compliance verification . Use http://www.ws-i.org/Testing/Tools/2005/06/[ws-it.org] Java/C# Compliance Tools . Use standalone Java-based commandline validator at Github, repo https://github.com/novotnyr/eclipse-wsdl-standalone-validator[`novotnyr/eclipse-wsdl-standalone-validator`]

== Use Eclipse IDE/Java Web Developer Tools

Eclipse IDE/Java Web Developer Tools provides an out-of-box validation of WSDL documents. This includes WS-I Compliance validation.

Details are thoroughly describes in a separate article «../soap-webservice-validation-wsit-eclipse/,SOAP Web Service Compliance with WS-IT in Eclipse IDE».

== Use SOAPUI

SoapUI by SmartBear is a general-purpose SOAP/REST API testing tool.

When working with WSDL-based projects, a WS-I compliance can be verified.

SoapUI provides an out-of-box WS-I verification, with offline support.

image::soapup-wsi.png[]

Doubleclicking on a binding shows a separate dialog window. A WS-I Compliance tab allows to execute WS-IT compatibility tests, with results shown in HTML.

== Use ws-it.org commandline tooling

WS-IT.org site provides a set of Java/C# based commandline validators of WS-IT compliance.

=== Running Java-based tool

==== Download & Unzip

To get a Java-based tool, download ZIP from the portal:

wget http://www.ws-i.org/Testing/Tools/2005/06/WSI_Test_Java_Final_1.1.zip

Unzip the archive:

unzip WSI_Test_Java_Final_1.1.zip

A wsi-test-tools directory appears.

[TIP] The directory wsi-test-tools/common/docs contains a set of PDF documentation files.

==== Adjust startup scripts

If running on Linux/macOS, we need to :

cd wsi-test-tools/java/bin
chmod +x *.sh
dos2unix *.sh

==== Export environment variables

Then, we need to set a WSI_HOME environment variable, pointing to the wsi-test-tools absolute path.

In the following example, the wsi-test-tools is placed in the /tmp folder:

/tmp/wsi-test-tools⟩ export WSI_HOME=$(pwd)

===== Running the tools

/tmp/wsi-test-tools⟩ java/bin/Analyzer.sh

We will see the following output


Default WSI home directory Set classpath Set Java options Analyzer Error: Usage: Analyzer -config .

=== Configuration Files

The Analyzer is driven by XML-based configuration. Let’s create a minimalistic configuration file.

[source,xml]

=== Running the tool

Now, we can run the validation tool, pointing to the configuration file:


$WSI_HOME/java/bin/Analyzer.sh -config config.xml

A XML Report file is created in the current directory, and a brief text summary is provided.

TIP: See the User Guide for the detailed documentation on the configuration XML file.

== Use standalone Java-based commandline validator

A https://github.com/novotnyr/eclipse-wsdl-standalone-validator[`novotnyr/eclipse-wsdl-standalone-validator`] repository provides a standalone commandline based validator. This is based on the Eclipse IDE WSDL/WS-IT validator framework and can be used independently from Eclipse.

Please follow the documentation in the repository on how to run the tool.

>> Home