SOAP Client timeout

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • lkosak@gmail.com

    SOAP Client timeout

    Hi everyone,

    I am encountering what appears to be a timeout problem using a PHP
    soap client to connect to a VB.net soap server. I cannot provide the
    WSDL as it is only available for internal use -- if this is essential
    I can create an equivalent mockup.

    I'm running an Apache 1.3 webserver. I call the script via a web
    browser.

    php.ini has the following pertinent settings:

    default_socket_ timeout = 120
    max_execution_t ime = 60
    memory_limit = 20M

    A simple equivalent to the script looks like:

    <?php

    $soapClient = new SoapClient('htt p://www.example.com/path/to.wsdl',
    array('connecti on_timeout' =120));

    try {
    $soapClient->WaitBeforeResp onse(500);
    } catch(Exception $e) {
    echo $e->getMessage() ;
    }

    ?>

    The server method WaitBeforeRespo nse sleeps for the time provided, and
    then returns 'Hello, World!'.

    Consistently, after 15 seconds the Soap Client throws the following
    exception:

    "Error Fetching http headers"

    Nowhere in any of my configuration files do I see the number '15' come
    up. If WaitBeforeRespo nse(5) is called, it returns 'Hello, World!'
    correctly.

    Is anyone aware of a configuration directive I am missing that would
    explain the consistent 15 second timeout? When executed directly on
    the soap server (.NET provides built in WSDL execution functionality)
    calls can take as long as they want, and still ultimately produce a
    result.

  • lkosak@gmail.com

    #2
    Re: SOAP Client timeout

    On Jun 5, 2:31 pm, lko...@gmail.co m wrote:
    Hi everyone,
    >
    I am encountering what appears to be a timeout problem using a PHP
    soap client to connect to a VB.net soap server. I cannot provide the
    WSDL as it is only available for internal use -- if this is essential
    I can create an equivalent mockup.
    >
    I'm running an Apache 1.3 webserver. I call the script via a web
    browser.
    >
    php.ini has the following pertinent settings:
    >
    default_socket_ timeout = 120
    max_execution_t ime = 60
    memory_limit = 20M
    >
    A simple equivalent to the script looks like:
    >
    <?php
    >
    $soapClient = new SoapClient('htt p://www.example.com/path/to.wsdl',
    array('connecti on_timeout' =120));
    >
    try {
    $soapClient->WaitBeforeResp onse(500);} catch(Exception $e) {
    >
    echo $e->getMessage() ;
    >
    }
    >
    ?>
    >
    The server method WaitBeforeRespo nse sleeps for the time provided, and
    then returns 'Hello, World!'.
    >
    Consistently, after 15 seconds the Soap Client throws the following
    exception:
    >
    "Error Fetching http headers"
    >
    Nowhere in any of my configuration files do I see the number '15' come
    up. If WaitBeforeRespo nse(5) is called, it returns 'Hello, World!'
    correctly.
    >
    Is anyone aware of a configuration directive I am missing that would
    explain the consistent 15 second timeout? When executed directly on
    the soap server (.NET provides built in WSDL execution functionality)
    calls can take as long as they want, and still ultimately produce a
    result.
    Apologies, I discovered that somewhere between php.ini and script
    execution, default_socket_ timeout is being set to 15.

    Comment

    Working...