Доступ к идентичным веб-сервисам с использованием одного и того же клиента
У меня есть несколько веб-сервисов, и я создаю веб-клиент с помощью ws-import.
При создании клиента у меня есть эта строка:
MyServiceService service = new MyServiceService();
Работает нормально как есть.
У меня есть тот же веб-сервис, работающий на другом сервере, и мне было интересно, смогу ли я получить к ним доступ с помощью того же клиента. Можно ли изменить URL-адрес wsdl клиента? Ctrl-Space в Eclipse дает мне 2 параметра, которые я могу ввести в MyServiceService, это URL arg0 и Qname arg1. Это то, что я ищу? И если это так, что я должен добавить в Qname, так как я не нашел ни одного связанного с Javadoc и не нашел его в Google?
Спасибо и всего наилучшего, Krt_Malta
1 ответ
Да, ты можешь это сделать. Как вы и подозревали, вам нужно использовать конструктор с этой подписью, сгенерированной в вашем классе обслуживания. Как видите, он принимает два аргумента: QName и Url.
QName немного сложно определить. Вы должны посмотреть на сгенерированный исходный код для конструктора no-arg вашего класса обслуживания (и атрибута @Service в классе). Если вы сделаете это, вы сможете понять, какой QName использует конструктор no-arg. Просто создайте QName с теми же значениями и используйте его.
URL-адрес прост: просто используйте URL-адрес wsdl, к которому вы хотите получить доступ.