我有一个使用wsimport生成的Web服务存根的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 \ hostsparsing。
在与服务器相同的networking中运行java-client并不困难。
也许存根的初始化过程依赖于主机名的“真正的”DNSparsing?
这个问题与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参数