【问题标题】:How do I add HTTP headers to JAXWS created proxy classes如何将 HTTP 标头添加到 JAXWS 创建的代理类
【发布时间】:2015-11-20 01:48:35
【问题描述】:

我在 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");

当您从服务中获取单个端口时,我看到了一堆 JAX-WS 标头示例。有没有更简单的方法?我可以将标题添加到服务或肥皂对象的某个集合中吗?

【问题讨论】:

    标签: java web-services soap jax-ws wsimport


    【解决方案1】:

    经过一番挖掘,我发现了这篇文章: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("mikeb@foobar.com");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-11
      • 2014-11-03
      • 2015-11-02
      • 2010-11-21
      • 2012-08-14
      • 2017-10-15
      • 2012-01-04
      相关资源
      最近更新 更多