Forum Discussion

Anonymous's avatar
Anonymous
16 years ago

Configuration of Soap Monitor

Hello,..

I am using the Soap Monitor functionality to record the soap traffic between a Client and a Server to derivate testcases.

Now I have troubles get this work. In soap-ui 2.0.2 there exists the field: 'Target Host' to configure the target of a TCP tunnel in the Monitor configuration and everything is alright.
But in Soap-UI 3.0 Beta 1 (and also 2.5.1) this field doesn't exist anymore. Instead of the target host I can set an endpoint. But this is not the same, I think, and I tried a lot of different settings, but I didn't get the traffic monitored.

Can you help me ? I didn't found any entry in the forum which will clarify my problem.

Thanks in advance
Wolfgang
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hello,

    When configuring tunnel set end point to your ws and than send request to http://localhost: , port is field you set in config panel for tunnel.  Basically, tunnel redirects all traffic send to it to set end point. It listens ion localhost:. If your end point uses https than tunnel will be https also. Example:

    Choose http tunnel, set port 8081, and set end point to : http://some.server.com/search/beta2. You request should be sent to http://localhost:8081

    Does this help you?
    robert.
  • Anonymous's avatar
    Anonymous
    Hi!

    I tried also the configuration you suggested. It works if you configure the url of a certain webservice at the tunnel. But I want to monitor several different webservices running on my server.

    So if I configure: Port 4711 and 'http://my.server.com:8080/webservice/services' and send the requests to 'localhost:4711' -> I will get the message: Axis Engine could not find a target service to invoke.

    In SoapUi 2.0.2 I configure: Port 4711, target Host: http://my.server.com:8080 and I send the requests from different webservices to 'localhost:4711/webservice/services/....' -> everything is working!

    The same configuration in Soap-UI 3: Port 4711; Tunnel endpoint: http://my.server.com:8080 and sending the requests to 'localhost:4711/webservice/services/...' -> I get the errormessage: 'Client found response content type of 'text/html; charset=iso-8859-1', but expected 'text/xml'

    Maybe I overlooked any other configuration point in Soap-UI3.0 ?

    Thanks
    Wolfgang
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hello,

    Tunnel works only for one end point, so you can not do what you need with it. I suggest using proxy, so what ever requst you send it will go over proxy and in it , you'll be able to see each request and response no matter what is server or end point of your web service.

    To configure it choose HTTP Proxy in lunch panel and set port, than in global settings in Proxy panel set localhost for proxy server and port. Request send to WS endpoint and that should be that.

    Let me know does it help,

    robert
  • Anonymous's avatar
    Anonymous
    Hi !

    Thanks for the tip. I also thought about this, but it doesn't work either.

    I configured in the Global Proxy-Settings of Soap-UI: localhost with port 4711; launching the soap - monitor I set Http-Proxy and Port 4711.

    If I send the requests to my server (endpoint): http://my.server.com/webservice/services,.... -> nothing has been monitored ! Is there something else I must consider ?

    Where do I have to send my requests to exactly (to localhost (proxy), to target host, ..)? I tried to send the requests to localhost but here I got the error: Unable to connect to the remote server: No connection could be made because the target machine actively refused it 127.0.0.1:4711.

    Still a bit helpless 
    Thanks
    Wolfgang
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hello,

    Get latest version from nightly build. You need to send request to your target host, like you do it with out proxy. Those default end points you already have, they are added when you import wsdl.

    robert
  • Anonymous's avatar
    Anonymous
    Hi Robert!

    I got the latest version, and tried your suggestion, but still having problems. Maybe I will try to explain more exactly what I need/what I have done, because the monitor functionality is very important to me.

    Locally (localhost) I have a client program sending different requests to different webservices running on a different machine (my.server.com:8080).
    I also installed SOAP-UI 3.0 locally; so I configured the SOAP-UI with Proxy: localhost, port: 8081;
    Starting the soap-monitor I configured also the port 8081; the endpoints from the different Webservices in SOAP-UI I configured like: 'Webservice1': my.server.com:8080/webservice/services/Service1; 'Webservice2': my.server.com:8080/webservice/services/Service2;... etc...

    My locally installed client I configured that the requests should be sent to localhost:8081; Now my requests should be sent to soap-ui proxy and redirected to the endpoints from the Webservices (configured in Soap-ui), and the soap-ui proxy is waiting for a response on port 8081, right ?

    But here is my problem: my client is not able to send the requests (is waiting..) till I stop the Soap-Monitor; After stopping the monitor, my client brings the error-message: Unable to connect to the remote server. No connection could be made because the target machine actively refused it 127.0.0.1:8081; So it seems that the requests has been sent to soap-ui proxy but not really redirected to my target host,....

    Doing something wrong ? Thanks for your help ..
    Wolfgang
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hello,

    I got impression you are sending requests from soapUI. You need to configure your local client to use soapUI as proxy, setting for proxy host localhost and for port 8081, as you set up proxy that way. Than you should send requests to your web services ( ex: my.server.com:8080/webservice/services/Service2 ..). I assume that your client have ability to use proxies. 


    robert
  • Anonymous's avatar
    Anonymous
    Thank you! That was the tip, now it works.