16
我試圖在代理之後運行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並在本地託管此文件,但我仍然遇到同樣的問題。
有什麼我失蹤了嗎?