HomeDigital EditionSys-Con RadioSearch Web Services Cd
B2B Beginning WS Business Process Management Case Studies Content Management Distributing Computing e-Business Electronic Data Interchange Enterprise Industry Insight Integration Interviews Java & Web Services .NET Portal Product Reviews Scalability & Performance Security SOAP Source Code UDDI Wireless WS Standards WS Tips & Techniques WSDL WS Editorials XML

While carefully sorting out junk mail in my inbox late one evening, I came across something that caught my attention. First of all, as product review editor, it is my duty and responsibility to give the subject line of any e-mail a quick once-over for Web service buzz words before I give it a heave-ho into the virtual trash bin. But this unsolicited parcel had something about it that made it a bit different than the others. Something about Web services, diagnostic tool, easy to use, please give it a try. So far, so good. In addition, an honest-to-goodness permanent license is included for free, along with a simple promise that you will like what you see. Okay, now you're talking! But it was the simplicity and genuineness of the e-mail that really inspired me to hit the download button and give it a try. The message regarding Mindreef SOAPscope basically lived up to its promises and more.

Key Features
Mindreef SOAPscope 1.0 is a Web services diagnostic tool, designed to provide toolkit-independent logging and monitoring of SOAP network traffic. SOAPscope is composed of two components, a network sniffer and a browser-based message viewer (see Figure 1). The sniffer component is designed to capture SOAP request and response messages within the HTTP protocol traffic and persist the information to an embedded relational database. The message viewer component is a browser-based Web application that allows a user to view the persisted SOAP request and response messages and more. Since it is browser-based, the viewer opens the door for remote and collaborative debugging sessions.

Figure 1

The SOAPscope viewer provides a pseudocode and XML view of message details, and two ways to monitor SOAP traffic - log view or live view. The log view provides message history and search capabilities while the live view allows for real-time debugging. In addition, a handy WSDL viewer allows you to punch in a WSDL URL and view it in either native XML or in pseudocode mode.

Some of the more advanced features of the tool allow you to modify and resend previously captured SOAP requests - handy for on-the-fly debugging.

Sniffer Component
The SOAPscope HTTP sniffer-interceptor is responsible for monitoring a network interface for SOAP-related traffic, relaying that information to an open message viewer, and logging the information in an internal embedded database. The sniffer interceptor executes in a DOS window on the desktop, where on startup it fires up an embedded database and an Apache Tomcat server (for hosting the message viewer application). Then, of course, it starts sniffing.

Preferences in the viewer allow you to choose a specific network adapter for multihomed machines and various default settings. In cases where you cannot install the network sniffer on a target machine or in cases where client and Web services reside on the same machine, SOAPscope includes support for network proxy services. In this case, the proxy will consume the SOAP request, log the request, and forward the message to the true endpoint.

The installation also includes support for .NET proxy services that includes a .NET assembly that can be configured to instruct the client Web reference to reference a proxy endpoint. Those that are really into this kind of stuff will further appreciate the "ssconfig" utility that comes with SOAPscope. It helps you set up and configure proxy chaining and port forwarding.

Message Viewer
As I mentioned earlier, the message viewer is browser based and served up at port 7103 by the sniffer-interceptor service. Once started, you choose to view live SOAP traffic or search through previously logged SOAP messages by selecting the appropriate tab in the message viewer.

Live view provides real-time monitoring of SOAP transactions. You can just keep the viewer open on the desktop and watch the SOAP protocol activity fly by. Errors are easily spotted with a red "X" next to the SOAP transaction entry, while successful transactions are given a green check mark. You can drill down for more detailed information at any time simply by clicking the SOAP transaction line.

The log view, on the other hand, allows you to search and view message history. You can filter SOAP messages according to requester, responder, endpoint, message, and ID. This is great for searching through past history in search of Web service errors that have occurred under certain conditions.

You have your choice of viewing the SOAP request and response messages as straight XML or in pseudocode mode. In the pseudocode mode, the request and response messages are represented in an easy-to-read, 3GL-like format. Most of the XML "noise", including headers and namespaces, is taken out.

Another great feature is the HTTP header viewer. This tracks "out-of-band" header data processed by the HTTP protocol during SOAP transactions. To further help in diagnosing a problem, SOAPscope provides a very useful WSDL viewer. Again, you can view the Web service in SOAP XML (straight XML) or in pseudocode mode. And if you really want to get fancy, you can embed (in HTTP headers) service-based information that is not readily available in the SOAP response message by including debugging annotations in your Web service calls.

Installation
Windows 2000/XMP installation is essentially a no-brainer, and in no time you're viewing SOAP messages. The installer was able to identify the network card on my workstation and configure the sniffer to use it. Unless you have special network proxy needs or other network interface issues, it is essentially ready to run after installation.

Test Drive
While doing some serious Web service testing on a project I'm currently working on (I do other things besides writing in my spare time), I had the opportunity to give SOAPscope a good workout. One particular test bed, the mother of all client programs, references literally dozens of Web service calls while maintaining session and transaction state. SOAPscope for the most part accurately logged SOAP-related activity, but in one particular situation the live view would freeze up due to a "long-running" SOAP transaction - more like it doesn't respond at all. In order to get around it, I had to shut down the sniffer service and restart. I was finally able to narrow in on the problem (a UDDI thing), but I think that the sniffer could have handled it a bit better by using a timeout.

I found the viewer's user interface to be very clean, easy to read, and relatively uncluttered. The information displayed was basically accurate and bug free. In addition, both the XML and pseudocode views have color-coded text, making it easy to see SOAP-specific tags, namespace information, and message request and response content.

All SOAP message content and log information is stored in an embedded database. Although it is basically transparent, you will need to do a little database management in order to purge or back up the database. Nothing in the way of log maintenance is provided in SOAPscope for this release. Luckily, database maintenance instructions are included in the documentation and are relatively easy to follow.

Conclusion
It's not often that you find a tool that is so well thought out and designed. SOAPscope really lives up to its promises of being "here to help." Equally versed for development and testing situations, once you start using it, you will never put it down. The amount of functionality provided is just right, neither overloading the GUI with seldom-used features nor leaving you to find some other diagnostic tool because it doesn't do enough. Like a Swiss Army Knife, it is a trusted tool that you will use again and again.

Company Info
Mindreef, Inc.
22 Proctor Hill Road
Hollis, NH 03049
Tel: 603 465-2204
Fax: 603 465-6583
Web: www.mindreef.com
E-mail: mrsoapscope@mindreef.com

Download information
Web site: www.mindreef.com/order/eval.php

Licensing Information
$99

Testing Environment
OS: Windows-XP
Hardware: 1GHz Athlon, 1GB RAM

About The Author
Joe Mitchko is a technology specialist working for a leading consulting company and is product review editor and a contributing writer for Web Services Journal. jmitchko@patmedia.net

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.

  E-mail: info@sys-con.com

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.