私はSOAPを使用するPHPライブラリのユニットテストを書いています。テストケースには2つのテストが含まれています。
ライブラリは2番目の単体テストで次のメッセージでフォールオーバーしています(私はPHPUnitを使用しています):
SoapClient::__call(): supplied argument is not a valid sdl resource
/test/SOAPLib.php:186
/test/SOAPLibTest.php:56
私がテストしているライブラリの186行目は次のとおりです。
$issue = $client->getIssueById($auth_token, $id);
これは、他のスクリプトから通常の方法で呼び出された場合でも失敗しません-2番目の単体テストから使用された場合にのみ失敗します。これは、2番目のSOAP呼び出しでグローバル変数に何らかの認証またはトークンエラーがあることを意味します。
UnitTestファイルの56行目は次のとおりです。
list($summary, $pri) = \SOAPLibTest\get_issue_by_id($id);
PHPマニュアルでSoapClient::_ call():を調べましたが、この関数は非推奨であり、代わりにSoapClient::_soapCallを使用する必要があります。問題は、それをそれに変更する方法がわからないことです。
php-soapを更新しようとすると、私はすでに最新であると報告されます。
私は本当にこれに困惑していて、Googleからの即時の助けはないようです。
どうもありがとう、 ns