Forum Discussion

tmobmai_112666's avatar
tmobmai_112666
Icon for Nimbostratus rankNimbostratus
Feb 26, 2008

Configuring monitor for WSDL

On 9.x LTM we are trying to create monitor that uses "GET /app/xyz/AdminService.wsdl" string. Neither http, nor SOAP template based monitors work. Meanwhile, the following command

 

 

curl http://10.xx.xx.xx:24092/app/xyz/AdminService.wsdl

 

 

executed on the same LTM generates correct output.

 

 

Is there anything special in .wsdl files that LTM doesn't like ?

 

 

Thanks.

6 Replies

  • If you have a request which generates the response you want, you should be able to configure that as the monitor send string in a custom HTTP monitor. You can use the -v flag to see the headers you're sending with curl. Then replace new lines with \r\n. Here is an example:

     

     

    GET /app/xyz/AdminService.wsdl HTTP/1.1

     

    User-Agent: curl/7.16.3 (i686-pc-cygwin) libcurl/7.16.3 OpenSSL/0.9.8g zlib/1.2.3 libssh2/0.15-CVS

     

    Host: 10.xx.xx.xx:24092

     

    Accept: */*

     

     

    You can probably leave out the user agent header and add a connection header which tells the server to close the connection:

     

     

    GET /app/xyz/AdminService.wsdl HTTP/1.1\r\nHost: 10.xx.xx.xx:24092\r\nAccept: */*\r\nConnection: close\r\n

     

     

    Aaron
  • Thanks a lot Aaron. Your solution worked!

     

     

    But I got one more question: How would you modify

     

     

    GET /app/xyz/AdminService.wsdl HTTP/1.1\r\nHost: 10.xx.xx.xx:24092\r\nAccept: */*\r\nConnection: close\r\n

     

     

    to support different IPs of pool members?

     

     

     

    I tried shortening the line :

     

     

    GET /app/xyz/AdminService.wsdl HTTP/1.1\r\nHost: 10.xx\r\nConnection: close\r\n

     

     

    and it works, but I don't like the fact that port number is now gone.

     

     

     

    Thanks
  • You can try taking out the host header value and see if the application still parses the request correctly. If the app accepted a request with a host header value of 10.xx, chances are it's not using the host header for anything anyhow.

     

     

    GET /app/xyz/AdminService.wsdl HTTP/1.1\r\nHost: \r\nAccept: */*\r\nConnection: close\r\n

     

     

    Aaron
  • Thanks Aaron. I used the following string and it worked just fine:

     

     

    GET /app/hlr/AdminService.wsdl HTTP/1.1\r\nHost:\r\nAccept:\r\nConnection: close\r\n

     

     

  • What was used as the recieve string for this monitor? I tried using text from the WSDL itself or even the 200 OK, but the monitor would fail if any receive string was specified. Any help is appreciated.

     

    • jquinones82_469's avatar
      jquinones82_469
      Icon for Nimbostratus rankNimbostratus
      Same issue I'm having. SOmeone mentioned to use an external monitor.