JavaEE Metro WS客户端发送主机头

时间:2020-01-22 14:56:26

标签: java web-services soap jax-ws java-ee-7

我想使用我在Glassfish上的JavaEE应用程序中的代理访问远程Web服务。因此,我需要传递目标主机名以外的Host标头。使用Metro 2.3.1 Web服务客户端实现,我将其传递为:

Map<String, List<String>> headers = new HashMap<>();    
headers.put("Host", Arrays.asList("remote.server.com"));
Map<String, Object> context = ((BindingProvider) service).getRequestContext();
context.put(MessageContext.HTTP_REQUEST_HEADERS, headers);

但是我可以看到Host标头被目标主机名替换:

Host: my.proxy.org

如果我使用Host以外的标头名称,例如Host1,就可以了,我可以看到两个标头:

Host1: remote.server.com
...
Host: my.proxy.org

是否可以使用Metro客户端替换受限制的标头主机?

0 个答案:

没有答案