2015-11-20 48 views
1

我在NetBeans中为SOAP Web服务创建了一组代理类。如何将HTTP标头添加到JAXWS创建的代理类

我想为传出的请求添加一个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("[email protected]"); 

我看到一堆JAX-WS头部示例,用于从服务中获取单个端口。有更容易的方法吗?我可以将标题添加到服务或肥皂对象上的某个集合吗?

回答

0

后一些挖我发现这个职位:jax-ws change Content-type to Content-Type because server is hyper sensitive

这是不是一个真正的完整的答案,所以我会发布完整的答案在这里:

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("[email protected]"); 
相关问题