2

SOAP に問題があり、本当の答えが見つかりません。

try {
    $objResponse = $objSoapClient->$strMethod($objMethod->getSoapRequest());
}
catch (SoapFault $e) {  
    GlobalLogState::write("exception with code(".$e->getCode()."): \n".$e->getMessage());
}

これは、try catch ブロックでの単純な SOAP 要求です。

SoapFault 例外が発生します:

Error Fetching http headers

その理由は何ですか?

4

2 に答える 2

0

default_socket_timeこのエラーを修正するには、ソケットのタイムアウトを増やすか、SoapClient のコンストラクターに渡されるパラメーター配列にパラメーターをphp.ini追加します。connection_timeout

これらのパラメータは秒単位です。

  1. php.ini で

    default_socket_timeout = 120

または、コードから変更することもできます

ini_set('default_socket_timeout', 120);

注: PHP のデフォルトのソケット タイムアウトは 60 秒です。

  1. connection_timeoutSoapClient コンストラクターのパラメーター

$client = new SoapClient($wsdl, array('connection_timeout' => 120));

于 2014-10-02T10:55:18.743 に答える