Отказано в доступе с клиентом JAX-WS на сервере tomcat6
У меня странное поведение с Java-клиентом, который использует заглушки веб-сервисов, сгенерированные wsimport.
Клиент говорит о чем-то
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