java web服务客户端,添加http头

标签 java web-services soap jax-ws

在 wsdl 上使用 wsimport 创建了一个 java web 服务客户端后,我需要为嵌入在 http 请求中的每个 soap 消息设置授权 header 。生成了 javax.xml.ws.Service 的子类后,如何将 http header 附加到每个传出请求???

最佳答案

这是基于 Femi 回答的代码。

这可能有点棘手。效果很好!

Service jaxwsService = Service.create(wsdlURL, serviceName);
Dispatch<SOAPMessage> disp = jaxwsService.createDispatch(portName, SOAPMessage.class, Service.Mode.MESSAGE);

//Add HTTP request Headers
Map<String, List<String>> requestHeaders = new HashMap<>();
requestHeaders.put("Auth-User", Arrays.asList("BILL_GATES"));
disp.getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS, requestHeaders);

关于java web服务客户端,添加http头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6666060/

相关文章:

java - 如何在netbeans gradle中使用类图创建Javadoc

java - 没有 Spring Web 的 Web 应用程序的 ClassPathXmlApplicationContext 或 WebApplicationContext

web-services - 为网络打开共享时 Metro 风格应用程序中的套接字异常

java - Spring Security 和 Web 服务 session

java - Java 中 JTable 的 JDBC TableModel?

java - 如果类只有构造函数,我应该在类中声明变量吗?

java - 如何解析 SOAP 响应

php - "Unable to parse URL"SOAP 请求后异常

java - 在服务器上以编程方式添加拦截器

java - 启动 jboss windows 服务以从外部可见