Является ли обычной практикой указание информации о политике безопасности в WSDL? - PullRequest
4 голосов
/ 02 июля 2010

Наша команда реализует веб-сервисы на основе SOAP, используя Spring-WS и XWSS.До сих пор мы полагались на Spring-WS для генерации WSDL из наших XSD.Сейчас мы рассматриваем вопрос о том, документировать ли требования безопасности в WSDL с помощью WS-SecurityPolicy или перенести их в отдельный документ.Вот вопросы, над которыми мы размышляем:

  • Какая норма?Распространено ли помещать политику в WSDL?

  • Многие (любые?) Генераторы клиентов получают информацию WS-SecurityPolicy в WSDL?

  • Spring-WS не поддерживает WS-SecurityPolicy при генерации WSDL.Поможет ли нам переход на Apache CXF?

Кроме того, мы знаем, что популярность REST набирает обороты, но SOAP была определена теми силами, которые могут быть.Спасибо!

Ответы [ 2 ]

1 голос
/ 16 февраля 2018

Итак, вот что вы можете сделать, и это просто:

1) Включите библиотеку cxf-bundle в ваш проект. Если вы используете Maven, вы можете сделать это:

<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-bundle</artifactId>
    <version>2.7.18</version>
</dependency>

2) Читайте здесь как генерировать Java-классы из wsdl.

3) Убедитесь, что в файле pom указан правильный wsdlLocation для генерации java-файлов из wsdl.

4) Инициализируйте сгенерированный клиент и введите предоставленные вам имя пользователя и пароль. Примерно так:

final YourService service = new YourService();
final YourStub stub = service.getService();

final Map ctx = ((BindingProvider)stub).getRequestContext();

ctx.put("ws-security.username", userName);
ctx.put("ws-security.password", password);

stub.callYourMethod();

PS: Пожалуйста, убедитесь, что у вас есть нужные библиотеки, я просто использовал cxf-bundle и ничего больше от cxf, и это сработало! Раньше это не работало, так как я по отдельности включал библиотеки из cxf.

Надеюсь, это поможет !!

1 голос
/ 19 мая 2011

Надеюсь, это еще может кому-нибудь помочь.

Какая норма?Распространено ли помещать политику в WSDL?

Да, это распространено.

Многие (любые?) Генераторы клиентов получают информацию WS-SecurityPolicy вWSDL?

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

...