Forum Discussion

John_Stevensen's avatar
John_Stevensen
Icon for Nimbostratus rankNimbostratus
Nov 16, 2012

Using the F5 to proxy for SOAP webservices

Prior to introducing F5 between the client and server:

 

I sent out a request from SOAP UI to server () and got an AA/AE message as expected.

 

 

 

I created a pool member 10.0.38.136:65083 (pool_DEV_JBOSS)

 

I created a virtual server 10.1.30.123:80 (vs_DEV_JBOSS02) which uses pool member above (pool_DEV_JBOSS)

 

 

When I send the request from SOAP UI to returns HTTP 500 Internal Server error. (Firefox says File not found)

 

 

 

Please forgive the NOOBness of this request for help - I am a network engineer - not a web programmer/developer.

 

 

 

 

 

 

 

7 Replies

  • The 500 error suggests that the server is at least getting the request, so I'm guessing there's something in it that it doesn't like. I'm going out on a limb here, but could it be the Host header?

    Add the following and see if it makes a difference:

     when HTTP_REQUEST { HTTP::header replace Host "localhost:65083" } 

    Otherwise does the application have any sort of filter that may reject the client's source address?

  • Virtual Server configuration:

     

     

    ltm virtual vs_DEV_JBOSS_02 {

     

    destination 10.1.30.123:http

     

    ip-protocol tcp

     

    mask 255.255.255.255

     

    pool pool_DEV_JBOSS_02

     

    profiles {

     

    http { }

     

    tcp { }

     

    }

     

    snat automap

     

    }

     

     

     

  • Thanks, that looks OK.

     

     

    In addition to Kevin's iRule suggestion;

     

     

    1) What is reported in the server logs?

     

    2) Your use of localhost when connecting directly to the server suggests you have a local proxy of some kind configured? Could your soapUI configuration be at fault?

     

    3) Can you use tcpdump on the F5 to confirm the traffic is getting to it and being passed to the server?

     

  • You raise a good point... everything points to localhost - and I cannot troubleshoot that as it never makes it across the network. Im going to put the onus back on the developers to put the client UI utilities on another machine so I can wireshark and whatnot.

     

     

     

    Thanks guys. I'll post back in a minute.

     

     

  • Ahhh - you put me in the right direction.

     

    His server wasnt working if you put the IP in it... he did some more configuration and we gave the VS a dns record....

     

     

     

    VOILLA!!

     

     

     

    xml version="1.0" encoding="UTF-8" ?>

     

    <definitions name="IISServiceNew" targetNamespace="urn:cdc:iisb:2011" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="urn:cdc:iisb:2011" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsaw="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

     

    <types>

     

    <xsd:schema elementFormDefault="qualified" targetNamespace="urn:cdc:iisb:2011" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="urn:cdc:iisb:2011" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsaw="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

     

    <xsd:complexType name="connectivityTestRequestType">

     

    <xsd:sequence>

     

    <xsd:element maxOccurs="1" minOccurs="1" name="echoBack" nillable="true" type="xsd:string" />

     

     

    xsd:sequence>

     

     

     

    xsd:complexType>

     

     

     

    <xsd:complexType name="connectivityTestResponseType">

     

    <xsd:sequence>

     

     

     

     

    Thanks a MILLION.