Java 如何向JAXWS创建的代理类添加HTTP头

Java 如何向JAXWS创建的代理类添加HTTP头,java,web-services,soap,jax-ws,wsimport,Java,Web Services,Soap,Jax Ws,Wsimport,我在NetBeans中为SOAP web服务创建了一组代理类 我想在传出请求中添加一个HTTP头 Map<String, Object> requestHeaders = new HashMap<>(); requestHeaders.put("X-Header", header); AccountManagementService service = new AccountManagementService(); AccountManagementServiceSoap

我在NetBeans中为SOAP web服务创建了一组代理类

我想在传出请求中添加一个HTTP头

Map<String, Object> requestHeaders = new HashMap<>();
requestHeaders.put("X-Header", header);
AccountManagementService service = new AccountManagementService();
AccountManagementServiceSoap soap = service.getAccountManagementServiceSoap();
GetMembershipSummaryResponse.GetMembershipSummaryResult membershipSummary = soap.getMembershipSummary("mikeb@foobar.com");
Map requestHeaders=new HashMap();
requestHeaders.put(“X-Header”,Header);
AccountManagementService=新的AccountManagementService();
AccountManagementServiceSoap=service.getAccountManagementServiceSoap();
GetMembershipSummaryResponse.GetMembershipSummaryResult membershipSummary=soap.getMembershipSummary(“mikeb@foobar.com");

我看到了一些JAX-WS头示例,用于从服务获取单个端口的时间。有没有更简单的方法?我可以将头添加到服务或soap对象上的某个集合中吗

经过一番挖掘,我发现了这篇帖子:

这并不是一个完整的答案,所以我将在这里发布完整的答案:

   AccountManagementService service = new AccountManagementService();
   AccountManagementServiceSoap soap = service.getAccountManagementServiceSoap();

   ((BindingProvider)soap).getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS,
    Collections.singletonMap("X-Header",Collections.singletonList(header)));
   GetMembershipSummaryResponse.GetMembershipSummaryResult membershipSummary = soap.getMembershipSummary("mikeb@foobar.com");

经过一番挖掘,我发现了这篇文章:

这并不是一个完整的答案,所以我将在这里发布完整的答案:

   AccountManagementService service = new AccountManagementService();
   AccountManagementServiceSoap soap = service.getAccountManagementServiceSoap();

   ((BindingProvider)soap).getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS,
    Collections.singletonMap("X-Header",Collections.singletonList(header)));
   GetMembershipSummaryResponse.GetMembershipSummaryResult membershipSummary = soap.getMembershipSummary("mikeb@foobar.com");