phillip_windley
Contributing Writer

SOAPscope scrubs up Web services

reviews
May 14, 20045 mins

Human-friendly presentation of SOAP messages gives developers an advantage in testing and tune-ups

In the world of Web services, SOAP’s human-readable interactions are easy to create and debug. But to take advantage of that, you must first find a tool capable of capturing network traffic and another capable of analyzing it.

Mindreef’s SOAPscope 3.0 does an excellent job at both tasks. In its most basic use, SOAPscope provides a convenient way to view SOAP messages both sent and received. With that information, developers can test and debug Web services to quickly find any potential problems.

SOAPscope runs as a service under Windows 2000 or XP and can be conveniently accessed from inside a Web browser or by using a plug-in for Eclipse or Visual Studio .Net.

SOAPscope captures messages using any of three different mechanisms, depending on how it is configured. The first method sniffs traffic directly from the network interface and is most useful when SOAPscope runs on the same machine as either the client or server.

When SOAPscope is running on a different machine for both client and server, it acts as an HTTP proxy to capture traffic even if your network already requires traffic to pass through a proxy by using proxy chaining.

Finally, in cases where configuring SOAPscope as a proxy is not acceptable, SOAPscope can perform port forwarding to glean any SOAP messages from the traffic it forwards.

Presenting pseudocode

Setting up SOAPscope 3.0 in any of these configurations is straightforward. When up and running, SOAPscope captures inbound and outbound traffic and stores messages in a built-in relational database, presenting results via a tabbed interface.

As you select messages from the results, SOAP requests and responses appear in pseudocode. This format replaces the angle-bracket syntax of XML and removes namespace definitions, giving the user a clean, uncluttered view of the SOAP request and response, reminiscent of Java or C. Raw message detail is just a click away if you need it.

The pseudocode is most welcome because it makes the content of the SOAP message much more accessible. With one glance, I could find pertinent information I usually would have to visually parse out of raw XML. The effort and time saved by this alone justifies SOAPscope’s $99 per-user price.

The clear data presentation comes in handy for many tasks. For example, SOAPscope can be used to check requests and responses for conformity with SOAP standards. Furthermore, if SOAPscope knows the WSDL file for the service, it can provide other useful information about SOAP requests and responses by identifying data types and highlighting syntactic mismatches.

In another boon to developers, SOAPscope 3.0’s analysis tools can track down outlier messages that take longer than expected to return or are larger than they should be. These messages can be found by querying the underlying datastore or by interacting with the graphic visualization of the messages.

As you drill down into points on the graph, the details of a particular SOAP message or group of messages unfold. This simple method of finding problems is not as sophisticated as that of a Web services intermediary, but it still gets the job done and is not nearly as expensive.

SOAPscope also provides a mechanism for capturing a message on the wire, tweaking the parameters and then sending the message on to the server and capturing the response. These features aid greatly in debugging Web services on the client and server sides.

For example, using the WSDL file, SOAPscope can create an empty request that you can fill out and send to the server. You might send purposefully broken messages to ensure that the server fails in expected ways or recovers gracefully from bad parameters.

Testing and tracking

When analyzing WSDL files using SOAPscope, you can view WSDL as pseudocode, see its properties, invoke the service it describes, and compare the stored WSDL to the current WSDL. You can also find statistical information related to all the calls that SOAPscope has seen related to a particular WSDL, and you can analyze the WSDL for errors or best practices.

These reports and the pseudocode representation of WSDL turn valuable information from something just for machines into something accessible through a human-friendly interface.

Another SOAPscope feature is the ability to run the Web Services Interoperability (WS-I) organization’s profile-testing tools within SOAPscope against its datastore of acquired messages. WS-I profiling is one way to increase the interoperability of Web services. Using SOAPscope, users can generate a WS-I profile conformance report for a service.

SOAPscope 3.0 is a useful tool for anyone who analyzes SOAP messages or needs to interact with Web services in an ad hoc way. It makes SOAP requests not only easy to track but also easy to read with its pseudocode formatting. Because SOAPscope can be used within IDEs (integrated development environments) such as Visual Studio and Eclipse, it can be easily integrated into a developer’s workflow.

At this price, every Web services developer should consider adding SOAPscope to their toolkit.

InfoWorld Scorecard
Performance (20.0%)
Interoperability (15.0%)
Ease of use (20.0%)
Value (10.0%)
Reporting (20.0%)
Setup (15.0%)
Overall Score (100%)
SOAPscope 3.0 8.0 9.0 9.0 10.0 8.0 9.0 8.7