How to make SoapHttpClientProtocol instance send each request on different TCP connection?

Discussion in 'ASP .Net Web Services' started by Morgan Cheng, Jun 22, 2007.

  1. Morgan Cheng

    Morgan Cheng Guest

    There are multiple clients to invoke a web service deployed in a
    cluster of server. Each client is using SoapHttpClientProtocol
    instance. I found that if the invocation is continuous,
    SoapHttpClientProtocol doesn't close TCP connection. It just reuse one
    single TCP connection to call target web service.

    Now, there are BigIP added between client and server to do load
    balancing. If the TCP connection doesn't close, LB is meaningless. So,
    how to make SoapHttpClientProtocol init a new TCP connection for each
    service request?

    Morgan Cheng, Jun 22, 2007
    1. Advertisements

  2. Is load balancing truly meaningless in this case, or does it simply mean
    something a little different from what you expect? Does the BigIP not
    distribute connections across the nodes? That is, if you had five servers
    and five clients, wouldn't it tend to distribute them one per server?
    Wouldn't the next five clients also be distributed?

    I haven't used that particular device, so I don't know.
    John Saunders [MVP], Jun 22, 2007
    1. Advertisements

  3. Morgan Cheng

    Morgan Cheng Guest

    In our config, BigIP will distribute connection evenly, but only
    distribute at the time TCP connection is generated.
    Since the requests are continuous, SoapHttpClientProtocol will keep
    connection alive and reuse single TCP connection to backend web
    service. As a result, one TCP connection is created and doesn't
    release. So, BigIP distribution works only once for each client.
    That's not what I expect.
    I want SoapHttpClientProtocol create one TCP connection, send Soap on
    HTTP message in that TCP connection, and then close it. For the next
    request, just repeat the three steps.
    Morgan Cheng, Jun 23, 2007
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.