在public ip上发布jax-ws服务

时间:2011-11-29 01:27:19

标签: web-services ip jax-ws endpoint

我有一个简单的jax-ws web服务,在localhost上可以很好地与客户端一起工作,但现在我想在公共IP上发布Web服务,所以客户端可以通过wan网络而不是lan网络与它进行交互。 我签到了no-ip dns服务提供商,并将我的主机定义为“myname.no-ip.info”。

在我的代码中,我以这种方式启动服务:

Endpoint.publish("http://localhost:8080/baseStationProvider", new BaseStationProvider());

并且http://myname.no-ip.info:8080/baseStationProvider@wsdl处的浏览器未显示wsdl。

如果我以这种方式启动服务:

Endpoint.publish("http://myname.no-ip.info/baseStationProvider", new BaseStationProvider());

编译代码,它引发了这个异常: 服务器运行时错误:java.net.SocketException:未解析的地址

对问题和/或如何做我需要的任何想法?

提前致谢

1 个答案:

答案 0 :(得分:0)

这似乎与路由和防火墙相关,而不是Web服务发布等。忽略Web服务方面,您甚至可以在浏览器中使用它时访问您的服务器:

http://myname.no-ip.info:8080/

哪个应该与

相同
http://localhost:8080/

如果没有,那么您可能需要检查DNS /路由/防火墙。有助于实现的诊断:  1)您正在测试的机器可以解析DNS名称mynam.no-ip.info吗? nslookup,ping,traceroute / tracert  2)是否有防火墙阻止端口8080到达本地主机?如果从互联网到您的主机的路由遇到防火墙(它将会)防火墙必须转发请求。

祝你好运。