Время соединения Soap истекло в клиенте Java, но не в SOAPUI - PullRequest
0 голосов
/ 29 мая 2018

Я создал мыльный клиент с wsimport и данным wsdl.Я также использовал SoapUI для тестирования сервиса.С помощью SoapUI у меня не было проблем, но при использовании Java-клиента я получаю

java.net.ConnectException: Connection timed out: connect

Значения по умолчанию, которые у меня есть в requestContext, следующие:

com.sun.xml.internal.ws.connect.timeout=100000
javax.xml.ws.service.endpoint.address=[fully qualified domain name endpoint]
com.sun.xml.internal.ws.request.timeout=100000
javax.xml.ws.soap.http.soapaction.use=null
com.sun.xml.internal.ws.client.ContentNegotiation=none
javax.xml.ws.soap.http.soapaction.uri=null

Я пытался увеличитьтаймаут, но он все еще не соединяется.

У кого-нибудь еще была подобная проблема?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Как вы упомянули, проблема заключается в прокси, на него были даны ответы в следующих ссылках.

Как использовать HTTP прокси в java

Проксинастройки в Java-программе

Если вы используете прокси-сервер с аутентификацией, то вы установили аутентификатор вместе с прокси-сервером.Ответы здесь.

HTTP-прокси-сервер, прошедший проверку подлинности с Java

РЕДАКТИРОВАТЬ:

Как правильно заметил Уильям Бернхэм, выустановить, чтобы установить свойства перед вызовом их.Более того, я рекомендую вам очистить свойство вскоре после получения ответа, используя System.clearProperty (ключ), поскольку свойство устанавливается для полного экземпляра jvm до его перезапуска и, следовательно, может вызвать проблемы для других исходящих соединений.

0 голосов
/ 29 мая 2018

Проблема была в том, что я был за прокси.Я провел разные тесты и обнаружил, что с помощью веб-браузера (или SoapUI) я смог получить доступ к ресурсу, но из командной строки он не работал.

После долгих поисков это было простое исправление: либопередавая свойство в качестве аргумента jvm или вручную устанавливая его в коде с помощью System.setProperty("java.net.useSystemProxies", "true").JVM сама по себе не использовала прокси.

EDIT

Поскольку я использовал wsimport, у меня есть клиент jax-ws.Важно, чтобы настройки прокси были настроены до создания экземпляра.

ДРУГОЕ РЕДАКТИРОВАНИЕ

Если случайно у вас возникли проблемы и вы используете сервер приложений для отправки запроса мыла через прокси,вам может потребоваться указать java.net.useSystemProxies=true (или аналогичный) в конфигурации сервера - например, catalina.properties при использовании tomcat.

...