我有一个客户端网络应用程序(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,也无法访问该页面。它无法到达。
也许这有助于找到解决方案。
答案 0 :(得分:0)
最后我开始工作......
我在这里发布答案对未来的用户有所帮助。
问题出在主机服务器文件中。正如@Amenadiel在评论中告诉我的那样,它并没有解析这些名字。
我更改了主机文件,它似乎花了比我预期的更多(我在3天前做了更改,但它们还没有应用)所以我放弃了主机问题作为选项。但似乎这是唯一的问题。
为什么当我尝试使用其IP来达到它时,它既不起作用?嗯,这是因为服务器性质。它是托管在云中的服务器,因此它肯定是一台虚拟机。
它有一个公共IP(我指向的那个)和一个私有LAN IP。服务器无法看到公共IP,所以如果我要使用一个,它应该是私有(LAN)。
再次感谢大家的回答和对服务器端新手的耐心!