プロキシの背後にPHP SoapClientとSoapServer(Magento用)の両方を実行しようとしています。このように、クライアントでの作業プロキシの背後でPHP SoapServerを実行しています
私が持っている:
$client = new SoapClient('https://www.domain.co.uk/api/v2_soap/?wsdl=1', [
'soap_version' => SOAP_1_1,
'connection_timeout' => 15000,
'proxy_host' => '192.168.x.x',
'proxy_port' => 'xxxx',
'stream_context' => stream_context_create(
[
'ssl' => [
'proxy' => 'tcp://192.168.x.x:xxxx',
'request_fulluri' => true,
],
'http' => [
'proxy' => 'tcp://192.168.x.x:xxxx',
'request_fulluri' => true,
],
]
),
]);
この期待通りに動作します - すべてのトラフィックがプロキシサーバーを経由して起こっています。
しかし、SoapServerクラスでは、SoapServer経由ですべての送信トラフィックを送信するように強制する方法はありません。 "http://schemas.xmlsoap.org/soap/encoding/ 'スキーマをインポートできません"というエラーがスローされる原因となっているプロキシ経由ではなく、http://schemas.xmlsoap.org/soap/encoding/を直接ネットワークからロードしようとしています。
私はschemas.xmlsoap.orgのホストファイルエントリを127.0.0.1に追加してこのファイルをローカルにホスティングしようとしましたが、私はまだ同じ問題を抱えています。
紛失しているものがありますか? file_get_contentsのよう