2017-11-28 9 views
0

外部SOAP API(Interworx API-http://docs.interworx.com/interworx/api/index-Using-the-API.php#toc-Chapter-2)を使用していますが、SOAP呼び出しが正常に実行されたときに 'ERR_NO_RESPONSE'または 'Unable to connect'ブラウザ(ChromeまたはSafariまたはFirefox)にメッセージが表示されます。 SOAPコマンドが成功しなかった場合、ページは正常に動作し、$ resultに適切な戻り配列が返されます。PHP SoapClientコールは、ブラウザでERR_NO_RESPONSEを生成してからページを再ロードします。

コールは次のとおりです。

$client = new SoapClient($interworx_soap_url); 
$result = $client->route($api_key, $api_controller, $action, $input); 

ます。$ client->ルート()コマンドは、私のコントロールパネルで、新しいドメインのポインタを作成しています。

興味深いことに、API呼び出しは常に機能しますが、何らかの形でコードの実行が中断されています。私はこれらの行の周りにob_start()とob_clean()を追加しようとしましたが、違いはありません。

私のコマンド$ client-> route()が成功すると(新しいドメインポインタが作成されます)、問題が発生しますが(ブラウザのERR_NO_RESPONSE)、コマンドが成功しなかった場合)正常に動作します(エラーメッセージと共に状態配列を返します)。

問題を解決したり隔離したりする助けがあれば幸いです。ちなみに、この問題はPHPやサーバーのApacheエラーログにメッセージを生成しません。ありがとう!

+0

SoapUIで成功したコールを試しましたか?何か間違いが起きたときに見てください。結局のところ、呼び出しがPHP出力を妨害することには意味がありません。 –

+0

はい、ドメインポインタの一覧表示など、他の多くのコマンドを正常に実行できます。 –

+0

ここから除外したコードはありますか?または、そうでない場合は、OSのPHPバージョンは何ですか? –

答えて

0

OK、私の問題を発見し、それはまさにコーディングの問題ではありませんでした。 $ client-> route()コマンドを呼び出して新しいポインタドメインを作成したとき、API はApacheを再起動して新しいサーバーエイリアスを有効にしました。これはまさにその時点で私のスクリプトを殺していた! Interworxには再起動を「優雅」にさせる設定があり、これが私の問題を解決しました。コードはすべて良かった。ありがとう

関連する問題