在 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/