Используя JAX-WS, как мне иметь несколько портов внутри одного wsdl? - PullRequest
4 голосов
/ 31 июля 2010

Я бы хотел определить 5 классов с аннотацией @WebService и использовать wsgen для создания одного wsdl для всех них.У каждого класса будет свой порт.Я читал документацию по wsgen, и это кажется невозможным.Но когда я смотрю на спецификацию wsdl, это представляется возможным.http://www.w3.org/TR/wsdl#_ports Кто-нибудь знает, как это сделать с помощью wsgen?

1 Ответ

2 голосов
/ 25 января 2011

Я не знаком с wsgen, однако ... насколько я знаю, у вас может быть только один класс, обращающийся к веб-сервису.Однако вы можете определить несколько операций, причем каждая операция является отдельным методом в вашем классе.Возможно, вы можете сделать что-то вроде этого:

  1. Определите ваши 5 классов как нормальные
  2. Определите «внешний» класс с отдельным методом, который вызывает каждый из ваших исходных 5 классов.
  3. Запустите ваш класс "fronting" через wsgen, чтобы создать WSDL с 5 отдельными операциями (по одной для каждого класса)

В качестве примечания, как правило, лучше определить веб-сервисы. Topвниз, а не снизу вверх.Сначала создайте WSDL, а затем используйте что-то вроде wsdl2java для создания скелета Java.

...