NuSOAP - PHP:在同一服务器和域中具有服务器和客户端Web服务

时间:2014-02-28 11:36:47

标签: php web-services subdomain nusoap

我有一个客户端网络应用程序(A),他试图通过网络服务获取另一个应用程序(B)的信息。

我一直在我的本地机器上进行测试,一切都像魅力一样。但是,当我将它们上传到我的服务器(CentOS 6,禁用SELinux,检查防火墙配置)时,我收到以下错误:

wsdl error: Getting http://applicationB/?wsdl - HTTP ERROR: Couldn't open socket connection to server http://applicationB/?wsdl, Error (110): Connection timed out

当然,“applicationB”是一个有效的网址。

他们在同一台服务器上。一个在appa.domain.com,另一个在appb.domain.com。

我试图直接调用服务器的IP而不是编写域名,但两者都没有运气。

如果我手动检查WSDL URL,我会得到一个格式良好的WSDL文件,所以这不是问题。

我尝试连接外部Web服务并且运行良好,所以我认为将服务器和客户端Web服务放在同一台机器(或域)中会出现问题。

考虑到这一点,我也尝试通过此端口侦听端口81并调用Web服务,因此侦听端口和请求端口将不同。也没有运气。

我坚持这一点,我无法获得更多想法来解决它或找到解决方法。

你们中的任何人之前可能都遇到过这个问题并知道如何解决它?

提前感谢您的时间和答案!

修改

我一直在尝试通过命令行连接到我的localhost网页,使用我服务器上的Lynx浏览器,即使尝试使用其IP,也无法访问该页面。它无法到达。

也许这有助于找到解决方案。

1 个答案:

答案 0 :(得分:0)

最后我开始工作......

我在这里发布答案对未来的用户有所帮助。

问题出在主机服务器文件中。正如@Amenadiel在评论中告诉我的那样,它并没有解析这些名字。

我更改了主机文件,它似乎花了比我预期的更多(我在3天前做了更改,但它们还没有应用)所以我放弃了主机问题作为选项。但似乎这是唯一的问题。

为什么当我尝试使用其IP来达到它时,它既不起作用?嗯,这是因为服务器性质。它是托管在云中的服务器,因此它肯定是一台虚拟机。

它有一个公共IP(我指向的那个)和一个私有LAN IP。服务器无法看到公共IP,所以如果我要使用一个,它应该是私有(LAN)。

再次感谢大家的回答和对服务器端新手的耐心!