Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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 SOAP客户端在非标准端口上访问服务器_Php_Zend Framework_Soap - Fatal编程技术网

PHP SOAP客户端在非标准端口上访问服务器

PHP SOAP客户端在非标准端口上访问服务器,php,zend-framework,soap,Php,Zend Framework,Soap,我试图向其发送请求的服务可以通过非标准端口访问,因此不是端口80。它可以通过端口80本地访问。所以我已经在本地测试了这个应用程序,效果很好。但当我将其部署到生产服务器(而不是LAN)上时,它会失败 再次为清楚起见: -开发服务器在局域网上 -SOAP服务器在局域网上 -生产服务器位于WAN上 -SOAP服务器可以通过NAT/FW通过非标准http端口(不是80)访问 soap客户端是使用指定的WSDL URI创建的。例如: $this->client = new Zend_Soap_Cli

我试图向其发送请求的服务可以通过非标准端口访问,因此不是端口80。它可以通过端口80本地访问。所以我已经在本地测试了这个应用程序,效果很好。但当我将其部署到生产服务器(而不是LAN)上时,它会失败

再次为清楚起见:

-开发服务器在局域网上

-SOAP服务器在局域网上

-生产服务器位于WAN上

-SOAP服务器可以通过NAT/FW通过非标准http端口(不是80)访问

soap客户端是使用指定的WSDL URI创建的。例如:

$this->client = new Zend_Soap_Client('http://server.com:10080/path/service.asmx?WSDL');
但查询不起作用:

$this->client->function($query);
我得到一个:

Internal Server Error
引发异常

PHP在这方面有缺陷吗?有解决办法吗?

我找到了一个解决办法:

$this->client = new Zend_Soap_Client('http://server.com:10080/path/service.asmx?WSDL',array('proxy_host' => 'server.com', 'proxy_port' => 10080));
我假装有代理人。我将代理端口指定为服务器的端口。这很有效。然而,我仍然想知道我是否犯了错误,或者这是ZF或PHP中的错误。目前,我向采埃孚提交了一份缺陷报告: