【问题标题】:How to add ws-security in SoapUI JAX-WS generated code如何在 SoapUI JAX-WS 生成的代码中添加 ws-security
【发布时间】:2014-09-17 14:30:25
【问题描述】:

我在 SoapUi 中从 WSDL 创建一个项目,其中请求必须具有 ws-addressing 和 ws-security。

问题是我必须在哪里配置 SoapUI 以添加 ws-security 和 ws-addressing,以便生成器获取这些值并包含在创建的 Java 类中。

我首先在请求soap消息上做了它,但生成器没有使用它。然后我添加到 Outgoing WS-Security Configurations,但结果相同。类与我从未设置过该配置相同。

我错过了什么?

【问题讨论】:

  • 您生成哪种类型的工件?
  • 我选择 JAX-WS 工件,然后完成 WSDL、TargetDirectory、Package 和 SourceDirectory。
  • 您是否使用带有用户名-密码的基本身份验证?是否要设置身份验证凭据,例如 usr/pwd?
  • 我想在生成的类中设置 user 和 pass 以及 to 和 action 标签。

标签: java soap soapui ws-security ws-addressing


【解决方案1】:

[编辑]

wsimport 必须已生成名称后缀为“_Service”的服务端口类。

YourServiceName_Service svcPort;

// ....

Map<String, Object> request = ((BindingProvider) svcPort).getRequestContext();
request.put(BindingProvider.USERNAME_PROPERTY, "<username>");
request.put(BindingProvider.PASSWORD_PROPERTY, "<password>");

您必须在自动生成类的基类上设置 ws-security 凭据。这个例子可能对你有所帮助

http://java.globinch.com/enterprise-java/web-services/jax-ws/secure-usernametoken-java-web-services-using-metro-wsit/#jax-ws-usernametoken-client-example

【讨论】:

  • 但这是使用 WSIT。目前,我没有使用它。必须做我想做的事?
  • 谢谢。我会试试看。 BindingProvider 也有 ws-addressing 的属性。
猜你喜欢
  • 1970-01-01
  • 2010-10-16
  • 2012-12-25
  • 2012-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-24
  • 1970-01-01
相关资源
最近更新 更多