[英]PHP SOAP client accessing server on non-standard port
我尝试向其发送请求的服务可以通过非标准端口(而不是端口80)访问。可以通过端口80在本地访问。因此,我已经在本地测试了该应用程序,并且运行良好。 但是,当我将其部署在生产服务器(而不是LAN)上时,它会失败。
再次为了清楚起见:
-dev服务器在局域网上
-SOAP服务器在局域网上
生产服务器在WAN上
-通过非标准的http端口(非80)可通过NAT / FW访问SOAP服务器
用指定的WSDL URI创建soap客户端。 例如:
$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中的错误。 我现在向ZF提交了错误报告:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.