I have developed some PI webservice scenarios, that I needed to test. When I test webservice I use .NET WebService Studio, which I’m unable to find anymore. It is a small free application that can use a WSDL to create and interface to test the application.
When I tested this interface, I got the following error: System.Net.WebException: The underlying connection was closed: The connection was closed unexpectedly. It took a while to trace what the error was, because the processing looked fine at the PI system.
To trace the problem I deceived to place a proxy in between the .NET application and the PI SOAP adapter. I had earlier used Webscrab as a proxy to see how the used HTTP request looked and change some parameters. The new version of Webscrab is a Java Webstart application so it is much easier to get started with.
When the application is started, the user is requested to select a database to store the requests in. I normally use blank password, since the requests is just private.
The application looks like the following.
It is possible to change the port, for where the proxy listens in the menu Plugin->Proxy->Proxy Listeners. Default is 8008.
In the .NET application the proxy have to be changed to http://localhost:8008 and it should then be possible to see the incoming requests in the log.
When I placed this proxy between the two applications, I got the response that I expected and the .NET application also received the correct data.
If you need to change some requests, it is also possible. From the Plugin -> Intercept Requests and POST.
Then for each new request you should get a popup, where it is possible to change the HTTP request before it is sent to the server.