如何将jbossws属性文件绑定到soapui中的soap请求和响应消息?

黄若瑟

如您所知,在wildfly ws-security配置中,有2个属性文件被绑定到Web服务。在服务器端,server.properties的绑定方式如下所示,

== server.properties

org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=jks
org.apache.ws.security.crypto.merlin.keystore.password=password123
org.apache.ws.security.crypto.merlin.keystore.alias=servicekey
org.apache.ws.security.crypto.merlin.keystore.file=META-INF/serviceKeystore.jks

== jaxws-endpoint-config.xml

<endpoint-config>     
   <config-name>Custom WS-Security Endpoint</config-name>     
   <property>       
      <property-name>ws-security.signature.properties</property-name>       
      <property-value>META-INF/server.properties</property-value>     
   </property>     
   <property>       
      <property-name>ws-security.callback-handler</property-name>       
      <property-value>
      com.aaa.soap.KeystorePasswordCallback
      </property-value>        
   </property>   
   </endpoint-config>

== HelloWorld.java

@WebService
@EndpointConfig(configFile = "WEB-INF/jaxws-endpoint-config.xml", configName = "Custom WS-Security Endpoint")
public class HelloWorld implements IHelloWorld {
    @Override
    public String sayHello(String name) {
        // TODO Auto-generated method stub
        return "Hello " + name;
    }
}

在客户端,JSP文件将client.properties绑定到soap请求。

== client.properties

org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=jks
org.apache.ws.security.crypto.merlin.keystore.password=password123
org.apache.ws.security.crypto.merlin.keystore.alias=servicekey
org.apache.ws.security.crypto.merlin.keystore.file=META-INF/serviceKeystore.jks

== index.jsp

<body>
<% 
String SERVICE_URL = "http://localhost:8080/SOAPEncryptWeb/HelloWorld";

try {
    QName serviceName = new QName("http://soap.aaa.com/", "HelloWorldService");

    URL wsdlURL;
    wsdlURL = new URL(SERVICE_URL + "?wsdl");
    Service service = Service.create(wsdlURL, serviceName);

    IHelloWorld port = (IHelloWorld) service.getPort(IHelloWorld.class); 

    ((BindingProvider) port).getRequestContext().put(SecurityConstants.CALLBACK_HANDLER, new KeystorePasswordCallback());
    ((BindingProvider) port).getRequestContext().put(SecurityConstants.ENCRYPT_PROPERTIES, Thread.currentThread().getContextClassLoader().getResource("META-INF/client.properties"));
    ((BindingProvider) port).getRequestContext().put(SecurityConstants.ENCRYPT_USERNAME, "servicekey");
    out.println(port.sayHello("jina"));
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
%>
</body>

因此,在soapui应用程序中,我重新制作了如下所示的这些客户端/服务器属性,

在此处输入图片说明在此处输入图片说明

但是我被困在这部分上。这些服务器和客户机属性已在Eclipse IDE上成功绑定。但是,在SoapUI应用程序中,我不知道如何将这些属性与soap请求和响应绑定在一起。

Albciff

To use WS Security on SOAPUI you've to use its specific WS-Security configuration as follows. First double click in your project name on Navigator window:

在此处输入图片说明

Here as you can see in the image above, there is a WS-Security Configurations tab.

First of all add your keystore which contains the key to perform the operations. To do so, click on the Keystores tab and add your keystore information, in your case based on your clients.properties:

在此处输入图片说明

其次,基于您的代码,您似乎想加密到Web服务的传出消息,因此选择“传出WS-Security配置”选项卡并添加新配置。您的传出/传入属性位于WEB-INF/jaxws-endpoint-config.xml配置文件中,您没有在问题中显示它,因此请根据此文件的内容配置此选项卡。配置完成后,它可能如下所示:

在此处输入图片说明

最后,检查您的配置,转到SOAP Request,右键单击请求面板,然后选择Outgoing wss> Apply [您的ws cfg名称]

在此处输入图片说明

有关更多详细信息,请查看SOAPUI文档。

希望这能为您指明正确的方向。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将SOAP响应从soapui复制到记事本中

来自分类Dev

如何将Ajax请求的响应绑定到EmberJs中的Model?

来自分类Dev

如何将(JSON转换为XML)请求和响应(XML转换为JSON)以调用外部Soap服务

来自分类Dev

如何将(JSON转换为XML)请求和响应(XML转换为JSON)以调用外部Soap服务

来自分类Dev

如何将标签绑定到Xamarin中的属性?

来自分类Dev

如何将 HTML 文件中 <input> 标签的 [autofocus] 属性(属性)绑定到 Angular 中的布尔变量

来自分类Dev

在C#中的Soap请求和响应

来自分类Dev

如何将前景绑定到属性

来自分类Dev

如何将 ContentView 绑定到属性?

来自分类Dev

将请求和响应数据写入 jmeter 中的文件

来自分类Dev

将实现绑定到Laravel中的请求/响应?

来自分类Dev

上载文件时如何将“进度”和更新事件绑定到ajax请求

来自分类Dev

上传文件时如何将“进度”和更新事件绑定到ajax请求

来自分类Dev

如何将Json响应绑定到表

来自分类Dev

将SOAP请求/响应写入日志文件

来自分类Dev

如何使用log4j登录xfire以获取XML SOAP中的请求和响应

来自分类Dev

如何将下拉列表中的 selectlistitem 值绑定到模型中的字符串属性

来自分类Dev

如何将SOAP响应放入UITableView中?

来自分类Dev

在SOAP Web服务中获取请求和响应XML

来自分类Dev

在SOAP :: Lite Request perl中获取请求和响应XML

来自分类Dev

HTTP 请求和响应消息

来自分类Dev

如何将动态单选按钮绑定到Ember中的控制器属性

来自分类Dev

如何将CSS类绑定到Polymer中的可观察对象或属性?

来自分类Dev

如何将单个属性绑定到WPF中两个控件的选择?

来自分类Dev

如何将多个表单值绑定到一个属性中?

来自分类Dev

XAML data.binding-如何将方法中的属性绑定到视图中的经度/纬度?

来自分类Dev

如何将视图的BackgroundColor属性绑定到Xamarin Forms中的视图模型?

来自分类Dev

如何将img src属性绑定到vue.js中的动态URL

来自分类Dev

如何将属性绑定到选择框选择中的输入字段

Related 相关文章

  1. 1

    如何将SOAP响应从soapui复制到记事本中

  2. 2

    如何将Ajax请求的响应绑定到EmberJs中的Model?

  3. 3

    如何将(JSON转换为XML)请求和响应(XML转换为JSON)以调用外部Soap服务

  4. 4

    如何将(JSON转换为XML)请求和响应(XML转换为JSON)以调用外部Soap服务

  5. 5

    如何将标签绑定到Xamarin中的属性?

  6. 6

    如何将 HTML 文件中 <input> 标签的 [autofocus] 属性(属性)绑定到 Angular 中的布尔变量

  7. 7

    在C#中的Soap请求和响应

  8. 8

    如何将前景绑定到属性

  9. 9

    如何将 ContentView 绑定到属性?

  10. 10

    将请求和响应数据写入 jmeter 中的文件

  11. 11

    将实现绑定到Laravel中的请求/响应?

  12. 12

    上载文件时如何将“进度”和更新事件绑定到ajax请求

  13. 13

    上传文件时如何将“进度”和更新事件绑定到ajax请求

  14. 14

    如何将Json响应绑定到表

  15. 15

    将SOAP请求/响应写入日志文件

  16. 16

    如何使用log4j登录xfire以获取XML SOAP中的请求和响应

  17. 17

    如何将下拉列表中的 selectlistitem 值绑定到模型中的字符串属性

  18. 18

    如何将SOAP响应放入UITableView中?

  19. 19

    在SOAP Web服务中获取请求和响应XML

  20. 20

    在SOAP :: Lite Request perl中获取请求和响应XML

  21. 21

    HTTP 请求和响应消息

  22. 22

    如何将动态单选按钮绑定到Ember中的控制器属性

  23. 23

    如何将CSS类绑定到Polymer中的可观察对象或属性?

  24. 24

    如何将单个属性绑定到WPF中两个控件的选择?

  25. 25

    如何将多个表单值绑定到一个属性中?

  26. 26

    XAML data.binding-如何将方法中的属性绑定到视图中的经度/纬度?

  27. 27

    如何将视图的BackgroundColor属性绑定到Xamarin Forms中的视图模型?

  28. 28

    如何将img src属性绑定到vue.js中的动态URL

  29. 29

    如何将属性绑定到选择框选择中的输入字段

热门标签

归档