Java Apache CXF 等同于 C# WCF AddressHeader 是什么?
What is the Java Apache CXF equivalent of C# WCF AddressHeader?
我正在尝试从 Java 后端服务访问用 C# 编写的基于 SOAP 的旧系统。此 C# 应用程序正在寻找 AddressHeader 以在每个请求中填充特定值。我正在使用 Apache CXF 创建对此服务的请求。不幸的是,对于我来说,我无法找到如何将此地址 header 添加到每个请求中。有谁知道 Java 中的等价物是什么以及如何使用 Apache CXF 添加它?
地址 header 与 SOAP
header 相同,因此我们只需要为每个请求添加一个特定的 SOAP header 以便能够拨打成功。
这是我在互联网上找到的一个例子。
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
如果有什么我可以帮忙的,请随时告诉我。
我正在尝试从 Java 后端服务访问用 C# 编写的基于 SOAP 的旧系统。此 C# 应用程序正在寻找 AddressHeader 以在每个请求中填充特定值。我正在使用 Apache CXF 创建对此服务的请求。不幸的是,对于我来说,我无法找到如何将此地址 header 添加到每个请求中。有谁知道 Java 中的等价物是什么以及如何使用 Apache CXF 添加它?
地址 header 与 SOAP
header 相同,因此我们只需要为每个请求添加一个特定的 SOAP header 以便能够拨打成功。
这是我在互联网上找到的一个例子。
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
如果有什么我可以帮忙的,请随时告诉我。