10

Validating SOAP Web Service Compliance with WS-IT -- Four Approaches | robonovot...

 2 years ago
source link: https://novotnyr.github.io/scrolls/wsdl-validation-with-ws-it/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Validating SOAP Web Service Compliance with WS-IT

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 :

  • make the script files executable
  • convert line endings from Windows CR-LF to Linux/macOS LF.
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.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK