繁体   English   中英

NuSOAP-PHP:服务器和客户端Web服务位于同一服务器和域中

[英]NuSOAP - PHP: Having server and client webservice in the same server and domain

我有一个客户端Web应用程序(A),尝试通过Web服务获取另一个应用程序(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”是有效的URL。

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

我尝试直接调用服务器的IP来代替写域名,但是这两者都不走运。

如果我手动检查WSDL URL,则会得到格式正确的WSDL文件,所以这不是问题。

我已经尝试连接外部Web服务,并且它们运行良好,所以我认为在同一台计算机(或域)中拥有服务器和客户端Web服务是一个问题。

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

我对此一无所知,无法获得更多解决方案或解决方法。

你们中的任何人也许以前都曾遇到过这个问题,并且知道如何解决?

预先感谢您的时间和答复!

编辑

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

也许这可以帮助找出解决方案。

终于我开始工作了...

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

问题出在主机服务器文件中。 正如@Amenadiel在评论中告诉我的那样,它不是解析名称。

我更改了主机文件,而且似乎花了超出我预期的时间(我在三天前进行了更改,但尚未应用这些更改),因此我将主机问题作为一种选择丢弃了。 但这似乎是唯一的问题。

那么,当我尝试使用其IP来访问它时,为什么也不起作用呢? 好吧,这是因为服务器的特性。 这是一台托管在云中的服务器,因此肯定是一台虚拟机。

它有一个公共IP(我指的是一个)和一个私有LAN IP。 服务器看不到公共IP,因此如果我要使用一个IP,它应该是私有(LAN)IP。

再次感谢大家的答复和对这个服务器端新手的耐心等待!

暂无
暂无

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

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