SOAP API でいくつかのテストを実行しようとしていますが、実行時間が非常に遅くなります。掘り下げてみたところ、実行に永遠にかかるのは SoapClient コンストラクターであることがわかりました。また、それがhttpクエリであるかどうかを確認するためにプロキシを使用しようとしましたが、このクエリは比較的高速に実行されます..約30秒間残るのはクエリの後です.
参考までに、kcachegrind のスクリーンショットを次に示します。
Charles Proxy での WSDL クエリは次のとおりです。
この同じ問題は、数か月前にここでも報告されています。
PHP: SoapClient コンストラクターが非常に遅い (3 分かかる)
しかし、彼は答えを得ませんでした。
どんな提案でも大歓迎です。
編集:
SoapClient が開始されるコード部分 (これは NetSuite PHP ツールキットの一部です)
$this->client = new SoapClient( $host . "/wsdl/v" . $endpoint . "_0/netsuite.wsdl",
array( "location" => $host . "/services/NetSuitePort_" . $endpoint,
"trace" => 1,
"connection_timeout" => 5,
"typemap" => $typemap,
"user_agent" => "PHP-SOAP/" . phpversion() . " + NetSuite PHP Toolkit " . $version
)
);