Как использовать сгенерированные файлы Axis WSDL2Java?

Я создал файлы Java из WSDL с помощью конвертера WSDL2Java, но я не знаю, как я могу использовать сервис с этими файлами, потому что нет примеров. Я реализую клиентскую часть.


person newbie    schedule 03.11.2009    source источник
comment
Вы используете Axis1 или Axis2? Если это Axis2, то какой вариант привязки данных вы использовали? Какие точные параметры вы указали для wsdl2java?   -  person Andrey Adamovich    schedule 03.11.2009
comment
Мы с Axis1 указали только опцию -s wsdl_filename.wsdl и, конечно, путь к классам для java, включая все необходимые файлы jar.   -  person newbie    schedule 03.11.2009


Ответы (2)


Что касается Axis2: прочитайте эти ссылки, они содержат несколько примеров:

http://ws.apache.org/axis2/1_5_1/quickstartguide.html#clients
http://ws.apache.org/axis2/1_0/userguide3.html

EDIT: Что касается Axis1: он основан на JAX-RPC, и вам нужно создать экземпляр объекта-заглушки или использовать локатор службы, чтобы получить экземпляр-заглушку, и все операции WS будут в нем. Пример приведен здесь:

public class Tester {
  public static void main(String [] args) throws Exception {
    // Make a service
    AddressBookService service = new AddressBookServiceLocator();

    // Now use the service to get a stub which implements the SDI.
    AddressBook port = service.getAddressBook();

    // Make the actual call
    Address address = new Address(...);
    port.addEntry("Russell Butek", address);
  }
}
person Andrey Adamovich    schedule 03.11.2009
comment
У меня есть такие файлы: ServiceBindingImpl.java ServiceBindingStub.java ServicePortType.java ServiceService.java ServiceLocator.java... - person newbie; 03.11.2009
comment
Затем просто создайте свой ServiceLocator. ‹ваш тип возвращаемого значения здесь› result = new ServiceLocator().getService(). ‹здесь ваше имя операции›(‹здесь параметры вашей операции›) - person Andrey Adamovich; 03.11.2009
comment
По какой-то причине ServiceLocator не имеет метода getService(). Спасибо за помощь в любом случае - person newbie; 03.11.2009

Обычно клиент не создает экземпляр заглушки в веб-службах, вы должны использовать локатор службы и вызывать метод get. Я не могу сказать по вашему вопросу, но если вы спрашиваете более общий вопрос «Где мне взять JavaDocs (или что-то подобное), чтобы лучше понять API», вам нужно будет указать, какой WS вы используете.

Руководство пользователя Axis

person Scanningcrew    schedule 03.11.2009