Управление URL для веб-службы Axis2 - PullRequest
0 голосов
/ 26 сентября 2011

Можно ли настроить формат URL-адреса для веб-службы Axis2 при использовании подхода с первым кодом (где Axis2 генерирует URL-адрес)? В частности, мы хотели бы исключить имя порта из URL.

У нас есть веб-сервис, созданный с использованием Axis2 с использованием подхода «сначала код». Это означает, что WSDL генерируется из классов Java и их аннотаций.

URL-адрес веб-службы в настоящее время:

http://www.example.com/services/AvailabiltyService.AvailabilityServicePort

Но мы бы хотели, чтобы URL был сокращен до:

http://www.example.com/services/AvailabiltyService

Элемент <service> сгенерированного WSDL в настоящее время выглядит следующим образом:

<service name="AvailabilityService">
    <port name="AvailabilityServicePort" binding="tns:AvailabilityServicePortBinding">
        <soap:address location="http://www.example.com/services/AvailabilityService.AvailabilityServicePort/"/>
    </port>
</service>

Из того, что я понимаю, URL определяется следующим образом:

  1. Часть "/ services /" указана в файле web.xml. Шаблон "/ services / *" указывается в файле web.xml для маршрутизации всех запросов, соответствующих этому шаблону, в AxisServlet.
  2. Часть «AvailableabiltyService» является названием службы. По умолчанию используется значение параметра «name» аннотации @WebService, к которому добавлено слово «Service». Это можно изменить, добавив параметр «serviceName» в аннотацию @WebService. В нашем случае мы включили параметр «serviceName» в аннотацию @WebService со значением «AvailabilityService».
  3. Часть «AvailableabiltyServicePort» - это имя порта. По умолчанию используется имя службы с добавленным словом «Порт». Это можно изменить, добавив параметр «portName» в аннотацию @WebService. В нашем случае мы не включили параметр portName в аннотацию @WebService.

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

Спасибо, что уделили время.

...