2011-11-29 51 views
0

我有一個簡單的jax-ws web服務,它可以在本地主機上與客戶端正常工作,但現在我想在公有ip上發佈Web服務,因此客戶端可以與它通過wan網絡而不是lan網絡。 我簽署了no-ip dns服務提供商,並將其定義爲「myname.no-ip.info」。在公共ip上發佈jax-ws服務

在我的代碼我用這種方式啓動服務:

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

,並在http://myname.no-ip.info:8080/[email protected]瀏覽器不顯示WSDL。

如果我開始這樣的服務:編譯代碼

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

,它提出這個異常: 服務器運行時錯誤:java.net.SocketException異常:未解決地址

任何想法問題和/或如何做我需要的?

在此先感謝

回答

0

這似乎可能具有路由和防火牆做的,而不是Web服務發佈等無視網絡服務方面,當你使用這個在您的瀏覽器,你甚至能達到您的服務器:

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

看起來應該一樣

http://localhost:8080/ 

如果沒有,那麼它可能是DNS /路由/你需要檢查防火牆。這將有助於診斷: 1)您正在測試的機器可以解析DNS名稱mynam.no-ip.info? nslookup,ping,traceroute/tracert 2)是否有阻止端口8080到達本地主機的防火牆?如果從互聯網到您的主機的路由命中防火牆(它會),防火牆將不得不轉發請求。

祝你好運。

+0

謝謝,解決了另一個網絡上的另一臺pc。所以這是一個路由器/防火牆/ UAC問題,WS是好的。 – user842504