繁体   English   中英

JAX-WS为IBM Web服务客户端iBM Websphere添加了寻址

[英]JAX-WS adding addressing for iBM websphere, IBM web services client

我在Websphere上运行代码并使用soap 2.12-2.2?。 以及RAD工具来生成IBM JAX-WS Web服务客户端代码。 我可以连接到有问题的服务器,但是Web服务需要打开地址。 如果使用http客户端代码和soap ui,则可以使该请求正常工作,并且可以看到特定的SOAP操作寻址标头。 但是我找不到一种为jax-ws代码添加此方法的方法。 我提到websphere ibm,因为我想知道这是否是该代码内部的错误。 在幕后,该库是jax-ws的org.apache.axis2。 这是我尝试过的所有代码。

预期要求:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://schemas.schedulenow.com/paramedclients/services" xmlns:data="http://schemas.schedulenow.com/paramedclients/data" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
   <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
  <wsa:Action soap:mustUnderstand="1">http://sion</wsa:Action><wsa:To soap:mustUnderstand="1">...</wsa:To></soap:Header>
   <soap:Body>
      <ser:Initialize>

当我获取原始字符串并访问服务器时,这包含一个有效的请求。 当我使用jax-ws ibm cod.e时,缺少“ wsa:Action”。

WSDL具有以下功能:

但是由于某种原因,客户端不会添加所需的标头。 我尝试了以下方法。

            SSLSocketFactory sslFactory = GenerateSocketAndTrustManager.createSSLFactory();

            _desc.getDispatch().getRequestContext().put("com.ibm.ws.wsaddressingAndDependentsDisabled", false); 
            _desc.getDispatch().getRequestContext().put("com.ibm.ws.wsaddressingAndDependentsDisabled", false); 
            _desc.getDispatch().getRequestContext().put("com.ibm.ws.wsaddressing.disabled", false); 
            _desc.getDispatch().getRequestContext().put("com.ibm.ws.wsaddressing.wsdl.UsingAddressing", true);



@Addressing(enabled=true, required=true)
@WebServiceClient(name = "ScheduleService", targetNamespace = "http://tempuri.org/", wsdlLocation = "WEB-INF/wsdl/ScheduleService_1.wsdl")



            AddressingFeature feat = new AddressingFeature(true, false);            
            _service.getWSHttpBindingScheduleService(feat);

如前所述这里 ,要走的路是添加了AddressingFeature在其中创建您的端口(从Oracle文档采取为例):

HelloWorld port = service.getHelloWorldPort(
    new AddressingFeature(true, true));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM