Java WebServices и генерация файлов WSDL - PullRequest
1 голос
/ 11 мая 2010

Какие инструменты лучше всего использовать для генерации файлов WSDL из файлов классов Java?

Встречаясь с некоторыми проблемами, связанными с использованием Java2WSDL, и задаваясь вопросом, каковы другие мои варианты.Последняя проблема заключается в том, что он не кодирует String [] как массив / последовательность.Проходит через WSDL в виде типа xsd: string

В лучшем случае я думаю - хороший чистый WSDL и очень легко используется .NET и другими клиентами Java.

Ответы [ 2 ]

2 голосов
/ 07 июля 2010

Какие инструменты лучше всего использовать для генерации файлов WSDL из файлов классов Java?

Самый простой способ - аннотировать ваш класс Java аннотациями JAX-WS. Вот (основной) пример:

package helloservice.endpoint;

import javax.jws.WebService;

@WebService
public class Hello {
    private String message = new String("Hello, ");

    public void Hello() {}

    @WebMethod
    public String sayHello(String name) {
        return message + name + ".";
    }
}

WSDL будет динамически генерироваться во время выполнения (но вы также можете сгенерировать его и развернуть статическую версию).

См. Создание простой веб-службы и клиента с помощью JAX-WS в Учебных руководствах по Java EE.

0 голосов
/ 07 июля 2010

Мой любимый метод - просто использовать NetBeans для создания веб-службы. Затем я использую графический редактор для определения своих методов и т. Д., А затем пишу код для логики веб-службы. NetBeans автоматически создаст для вас WSDL при переходе по URL-адресу http://localhost/Application/MyService?WSDL (или вы также можете его экспортировать).

Когда я делаю это и определяю тип возврата как String[], получается complexType следующим образом:

<xs:complexType name="response">
  <xs:sequence>
    <xs:element name="return" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded" /> 
  </xs:sequence>
</xs:complexType>

То, что я думаю, то, что вы хотите.

...