Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SoapClient不遵守无代理除外条款_Php_Linux_Soap_Proxy - Fatal编程技术网

Php SoapClient不遵守无代理除外条款

Php SoapClient不遵守无代理除外条款,php,linux,soap,proxy,Php,Linux,Soap,Proxy,在wsdl模式下运行的SoapClient不支持OS代理排除,并且似乎没有直接添加它们的标志 当模式定义同时引用内部和外部定义的模式时,这会带来困难。 对于测试,我将初始wsdl文档拉入本地。我启用了代理,因为模式引用了w3.org和其他一些基于internet的模式定义。问题是本地文档仍然引用代理的内部和外部资源,一旦启用代理,它希望通过它发送每个请求 我有以下代码: $client = new SoapClient('SomeResource.wsdl',array( 'proxy_

在wsdl模式下运行的SoapClient不支持OS代理排除,并且似乎没有直接添加它们的标志

当模式定义同时引用内部和外部定义的模式时,这会带来困难。 对于测试,我将初始wsdl文档拉入本地。我启用了代理,因为模式引用了w3.org和其他一些基于internet的模式定义。问题是本地文档仍然引用代理的内部和外部资源,一旦启用代理,它希望通过它发送每个请求

我有以下代码:

$client = new SoapClient('SomeResource.wsdl',array(
    'proxy_host'=>'10.0.0.1',
    'proxy_port'=>8080,
    'soap_version'=>SOAP_1_1,
    'exceptions'=>true,
    'trace'=>1,
    'cache_wsdl'=>WSDL_CACHE_NONE,
    'login'=>'username',
    'password'=>'password'
));
运行策略:

stat("http://localresource.localdomain.com:1080/some/version/Common.xsd", 0x7fffd94a36d0) = -1 ENOENT (No such file or directory)
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 7
fcntl(7, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(7, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(7, {sa_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("10.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress)
... timeout here cause it's a local resource ...
我当然更改了名称以保护我的客户端,但我的no_代理列表中确实有localdomain.com:

somehost:someuser> env |grep proxy
http_proxy=http://10.0.0.1:8080
ftp_proxy=http://10.0.0.1:8080
https_proxy=http://10.0.0.1:8080
no_proxy=localdomain.com,localhost,127.0.0.1
向SoapClient输入添加no_代理无效


除了将所有模式拉入内部并修改所有这些引用以同时指向本地定义的资源之外,还有什么方法可以让SoapClient遵守无代理规则吗?

我最终将所有模式拉入内部并修改所有这些模式以同时指向本地定义的模式