Release 10.1A: OpenEdge Development:
Web Services

> ## Using ProSOAPView

> ProSOAPView is a more flexible tool than WSAViewer that allows you to view the following message content exchanged between a client and Web service:

> - Request for a WSDL file.

> - SOAP request and response content.

> - HTTP request and response content.

> - The content of any other document exchanged between the client and Web service.

> This flexibility is especially helpful to debug industry Web services accessed from the 4GL (which can originate anywhere and contain a greater variety of SOAP formats).

> Running ProSOAPView opens a SOAPSpy window, as shown in Figure 12–1.

> Figure 12–1: SOAPSpy window opened by ProSOAPView

> SOAPSpy works both an HTTP proxy server and as an HTTP client, meaning that it can serve as a proxy between a Web service client and the Web service and also connect to its final destination through another proxy, all without changing any of the Web service client code.

> The data stream that SOAPSpy can track includes binary data as well as readable text. However, binary data is represented schematically and all invalid text characters appear as the `'?'` character.

> ##### Running ProSOAPView (SOAPSpy)

> You run ProSOAPView by setting it up as a proxy server for the Progress 4GL client.

> | To configure the Progress 4GL client and run ProSOAPView:

> 1. Start ProSOAPView by executing the `prosoapview` command in the OpenEdge environment using the following syntax:

> Syntax
>     prosoapview [ port-number ]

> By default the SOAPSpy executable listens on TCP/IP port 4444. You can specify the `port-number` value to change this port assignment.

> 2. To begin tracking HTTP and SOAP messages, be sure that the client application has not yet executed the Web service `CONNECT( )` method, then choose Spy Start Spying from the menu bar, as shown in Figure 12–2, or click the spy icon in the SOAPSpy window.

> Figure 12–2: ProSOAPView Spy menu

> 3. Start up the Progress 4GL client adding the following startup parameters to the command line:

> Syntax
>     -proxyhost localhost -proxyport port-number

> Set `port-number` to the TCP/IP listening port used by SOAPSpy (4444 by default). For more information on these startup parameters and starting up a Progress 4GL client, see OpenEdge Deployment: Startup Command and Parameter Reference .

> Note: You do not have to change any connection parameters coded for the Web service `CONNECT( )` method in the 4GL client application to use ProSOAPView. Proxy settings handle all redirection of message traffic that is required to inspect messages sent between the 4GL client and the Web service.

> After have opened the SOAPSpy window and begun tracking messages, the status bar indicates the proxy host and port as shown in Figure 12–3, where the proxy host is name `beata`.

> Figure 12–3: ProSOAPView status bar

> ##### Tracking messages in the SOAPSpy window

> Once tracking begins, the SOAPSpy window shows a list of calls (Web service operation invocations) on the left and a tab viewer on the right showing message content (see Figure 12–1).

> Each call in the list is identified by its URI, the time of the call, and an icon that identifies the type of call, as shown in Figure 12–4.

> Figure 12–4: ProSOAPView Call types

> When you select a call in the list, its message content appears in the tab viewer. You can view different message content for a call by selecting a tab in the viewer. The HTTP Request and HTTP Response tabs show the raw content of every call. The SOAP Request and SOAP Response tabs allow you to manipulate individual SOAP messages, including WSDL requests.

> For example, Figure 12–5 shows the content of a SOAP request message in the SOAP Request tab.

> Figure 12–5: ProSOAPView Request tab

> If you want to remove a call from the call list, select the call and choose Remove Call (see Figure 12–6), either in the Call menu or in the context menu that pops up on the call.

> Figure 12–6: ProSOAPView Call menu

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095