在 tomcat6 服务器上使用 JAX-WS 客户端时权限被拒绝

在 tomcat6 服务器上使用 JAX-WS 客户端时权限被拒绝

我在使用 wsimport 生成的 webservice 存根的 Java 客户端时遇到了奇怪的行为。

客户说某事

Got Permission denied: connect while opening stream from http://dev:8080/LicenseServer/services/ServerImpl?wsdl

但是我可以在浏览器中打开 URL,并且 wsdl 可以正确显示。我还可以从浏览器控制 Soap11Binding/HttpSoap11Endpoint。

一个提示可能是主机名“dev”由 C:\Windows\System32\driver\etc\hosts 解析。

在与服务器相同的网络内运行 java 客户端不会有任何麻烦。

也许存根的初始化过程依赖于主机名的“真实” DNS 解析?

答案1

这个问题与 jax-ws 或 wsdl 无关。这只是因为 jre7 和 ipv6stacks 在大多数硬件上无法兼容。另请参阅https://forums.oracle.com/forums/thread.jspa?threadID=2395610或者http://jonathangiles.net/blog/?p=1126

我通过将-Djava.net.preferIPv4Stack=true我的 JVM 参数来解决了这个问题

相关内容