【问题标题】:What is the Java Apache CXF equivalent of C# WCF AddressHeader?什么是 C# WCF AddressHeader 的 Java Apache CXF 等价物?
【发布时间】:2019-12-20 22:00:41
【问题描述】:

我正在尝试从 Java 后端服务访问用 C# 编写的旧的基于 SOAP 的系统。此 C# 应用程序正在寻找 AddressHeader,以便在每个请求中填充特定值。我正在使用 Apache CXF 创建对该服务的请求。不幸的是,在我的一生中,我无法找到如何将此地址标头添加到每个请求中。有谁知道 Java 中的等价物是什么以及如何使用 Apache CXF 添加它?

【问题讨论】:

    标签: java wcf cxf


    【解决方案1】:

    地址标头与SOAP标头相同,因此我们只需为每个请求添加特定的SOAP标头即可成功调用。
    这是我在网上找到的一个例子。

    ClientProxyFactoryBean factory = new JaxWsProxyFactoryBean();
    factory.setServiceClass(singz.ws.cxf.sample.SampleServiceInterface.class);
    factory.setAddress("http://xxx.xxx.com/services/SampleService/v1");
            SampleServiceInterface serviceClient = (SampleServiceInterface) factory.create();
            Client proxy = ClientProxy.getClient(serviceClient);
            List<Header> headersList = new ArrayList<Header>();
            Header testSoapHeader1 = new Header(new QName("uri:singz.ws.sample", "soapheader1"), "SOAP Header Message 1", new JAXBDataBinding(String.class));
            Header testSoapHeader2 = new Header(new QName("uri:singz.ws.sample", "soapheader2"), "SOAP Header Message 2", new JAXBDataBinding(String.class));
            headersList.add(testSoapHeader1);
            headersList.add(testSoapHeader2);
            proxy.getRequestContext().put(Header.HEADER_LIST, headersList);
    

    请参考以下链接,希望对你有用。
    https://dzone.com/articles/apache-cxf-how-add-custom-soap-0
    How do you add a Soap Header defined in a wsdl to a web service client in CXF?
    https://dzone.com/articles/apache-cxf-how-add-custom-soap
    如果有什么我可以帮忙的,请随时告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-13
      • 1970-01-01
      • 1970-01-01
      • 2017-12-18
      • 2011-01-10
      • 2016-07-26
      • 2010-12-07
      • 2010-11-22
      相关资源
      最近更新 更多