Вопрос

Я развернул службу JAX-WS и использую wsimport для генерации клиентского кода.Поскольку я запускаю wsimport на localhost, я получил клиентский код с binind по адресу "localhost".

Но я хочу повторно использовать этот клиентский код на других компьютерах, которые получают доступ к моей развернутой службе с общедоступным IP-адресом y.y.y.y.y.Как можно динамически использовать этот (однажды) сгенерированный клиентский код для доступа к моему сервису?(IP-адрес сервиса может измениться ...)

Это было полезно?

Решение

Это описано в Вопросы и ответы из JAX-WS:

Q.Как я могу динамически изменять адрес веб - службы для запроса?

((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "..."); 

Другие советы

Конечно.Взгляните на Пример JBoss.Вот соответствующий фрагмент кода:

BindingProvider bp = (BindingProvider) port;
bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://your.wsdl.location");

Обычно WSDL генерируется, и поэтому поставщик WS вставляет соответствующие URL-адреса в WSDL.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top