繁体   English   中英

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

[英]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提交了错误报告:

http://framework.zend.com/issues/browse/ZF-9626

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM