Apache CXF - Set HTTP header

后端 未结 4 882
时光取名叫无心
时光取名叫无心 2021-01-04 00:01

I have to set some http header fields in a Apache CXF client:

I tried it via Interceptor:

    public class HttpHeaderInterceptor extends AbstractPhas         


        
4条回答
  •  清歌不尽
    2021-01-04 00:21

    Here is a code snippet to copy a custom HTTP header (from the request) on the response in a single CXF out interceptor.

    public void handleMessage(SoapMessage message) throws Fault {
        // Get request HTTP headers
        Map> inHeaders = (Map>) message.getExchange().getInMessage().get(Message.PROTOCOL_HEADERS);
        // Get response HTTP headers
        Map> outHeaders = (Map>) message.get(Message.PROTOCOL_HEADERS);
        if (outHeaders == null) {
            outHeaders = new HashMap<>();
            message.put(Message.PROTOCOL_HEADERS, outHeaders);
        }
        // Copy Custom HTTP header on the response
        outHeaders.put("myCustomHTTPHeader", inHeaders.get("myCustomHTTPHeader"));
    }
    

提交回复
热议问题