Java WebServices и поколение файла WSDL

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

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

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

1
задан BuddyJoe 11 May 2010 в 16:36
поделиться

2 ответа

Мой любимый метод - просто использовать 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>

Я думаю, это то, что вам нужно.

0
ответ дан 3 September 2019 в 00:39
поделиться

Какие инструменты лучше всего использовать для генерации 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.

2
ответ дан 3 September 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: