java web service client, adding http headers

后端 未结 5 1430
闹比i
闹比i 2020-12-14 02:43

Having created a java web service client using wsimport on a wsdl, I need to set the Authorization header for each soap message embedded in an http request. Having generated

5条回答
  •  执笔经年
    2020-12-14 03:28

    Here is the code, based on Femi's answer.

    It can be a little tricky to figure out. Works beautifully!

    Service jaxwsService = Service.create(wsdlURL, serviceName);
    Dispatch disp = jaxwsService.createDispatch(portName, SOAPMessage.class, Service.Mode.MESSAGE);
    
    //Add HTTP request Headers
    Map> requestHeaders = new HashMap<>();
    requestHeaders.put("Auth-User", Arrays.asList("BILL_GATES"));
    disp.getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS, requestHeaders);
    

提交回复
热议问题