In addition to the KeepAlive trick which is a "server-side" modification, on the "client side" default_socket_timeout should be increased from its default value (60) when you deal with ~slow SOAP servers.
As for the KeepAlive, if creating a new separate vhost for the soap api is not possible, you can add this to your existing vhost: BrowserMatch "^PHP-SOAP" nokeepalive
where PHP-SOAP is the agent name of your soap client, if you dont know what agent name your client use, just checkout the access.log of your apache.
The SoapClient class
Introdução
The SoapClient class provides a client for » SOAP 1.1, » SOAP 1.2 servers. It can be used in WSDL or non-WSDL mode.
Sinopse da classe
SoapClient
SoapClient
{
/* Methods */
public string __doRequest
( string $request
, string $location
, string $action
, int $version
[, int $one_way = 0
] )
public mixed __soapCall
( string $function_name
, array $arguments
[, array $options
[, mixed $input_headers
[, array &$output_headers
]]] )
}Índice
- SoapClient::__call — Calls a SOAP function (deprecated)
- SoapClient::__construct — SoapClient constructor
- SoapClient::__doRequest — Performs a SOAP request
- SoapClient::__getFunctions — Returns list of available SOAP functions
- SoapClient::__getLastRequest — Returns last SOAP request
- SoapClient::__getLastRequestHeaders — Returns the SOAP headers from the last request
- SoapClient::__getLastResponse — Returns last SOAP response
- SoapClient::__getLastResponseHeaders — Returns the SOAP headers from the last response
- SoapClient::__getTypes — Returns a list of SOAP types
- SoapClient::__setCookie — The __setCookie purpose
- SoapClient::__setLocation — Sets the location of the Web service to use.
- SoapClient::__setSoapHeaders — Sets SOAP headers for subsequent calls.
- SoapClient::__soapCall — Calls a SOAP function
- SoapClient::SoapClient — SoapClient constructor
SoapClient
fourat dot zouari at tritux dot com
20-Jun-2009 01:08
20-Jun-2009 01:08
peter dot hansen at fastit dot net
01-May-2009 11:57
01-May-2009 11:57
When you get errors like:
"Fatal error: Uncaught SoapFault exception: [HTTP] Error Fetching http headers in"
after a few (time intensive) SOAP-Calls, check your webserver-config.
Sometimes the webservers "KeepAlive"-Setting tends to result in this error. For SOAP-Environments I recommend you to disable KeepAlive.
Hint: It might be tricky to create a dedicated vhost for your SOAP-Gateways and disable keepalive just for this vhost because for normal webpages Keepalive is a nice speed-boost.
