問題タブ [soapserver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
26405 参照

php - PHP SoapClient: SoapFault 例外がホストに接続できませんでした

このコードを使用して、SOAP リクエストを作成します

ときどき (10 回に 1 回)、例外が発生します。

SoapFault 例外: [HTTP] ホストに接続できませんでした

私の試み

1)解決策を探したところ、この問題はwsdlキャッシュが原因である可能性があることを読みphp.iniました.で無効にしました:

発生する例外が少なくなります

2)Windowsのホスト(Windows上にあります)にDNSの解像度を追加しようとしましたwindows/system32/drivers/etc/hosts

発生する例外が少なくなります

3) 「Windows ファイアウォール」も無効にしてみましたが、

発生する例外が少なくなります

4) php.ini の default_socket_timeout も増やしてみました。

何も変わっていません

質問

サーバーソープは問題ないようです。他サイトからも問題なく使用しています。他にできることはありますか?

私の設定

PHP5.6

アパッチ 2.4

Windows Server 2012

アップデート

多くのテストの後、問題はネットワークにあると思います。soap サーバーはリバース プロキシの背後にあり、問題はプロキシに表示されます。

0 投票する
1 に答える
1249 参照

php - SoapFault をスローするときの HTTP ステータス コードの変更

PHP アプリケーションでをスローするSoapFaultと、HTTP ステータス コードが に設定されHTTP/1.1 500 Internal Service Errorます。http_response_code()これは、を使用して、またはheader()スローする前に、ステータス コードを別のものに設定した場合でも発生しますSoapFault。をスローするときにステータスコードを変更する方法はありませんSoapFaultか? そして、それは呼ばれるべきではありませんHTTP/1.1 500 Internal Server Errorか?存在すら知らなかっHTTP/1.1 500 Internal Service Errorた。

SoapUI を使用して、 からの応答を検査していSoapServerます。

スローの例(オブジェクトSoapFaultが扱う関数内)SoapServer

応答例:

応答ヘッダーの例: