簡體   English   中英

SOAP輸出攔截器CXF

[英]SOAP out interceptor CXF

在我們的應用程序中,我們需要與不同的第三方Web服務進行交互。 在一種情況下,我們必須添加一個out攔截器來操縱請求標頭和主體。 我們使用的主要技術是Spring和CXF,而配置則使用XML(在Spring上下文中)。

是否只有在對特定Web服務發出請求時才有限制攔截器調用的方法。

public abstract class TransformSOAPMessageInterceptor extends AbstractPhaseInterceptor<Message> {

}

感謝和問候,San

您可以檢查消息中的SOAPAction標頭(下面顯示的大多數示例摘自http://cxf.apache.org/docs/interceptors.html

if (message.getVersion() instanceof Soap11) {
            Map<String, List<String>> headers = CastUtils.cast((Map)message.get(Message.PROTOCOL_HEADERS));
            if (headers != null) {
                List<String> sa = headers.get("SOAPAction");
                if (sa != null && sa.size() > 0) {
                    String action = sa.get(0);
                    if (action.startsWith("\"")) {
                        action = action.substring(1, action.length() - 1);
                    }
                    if (StringUtils.equals(action, "YOUR_SPECIAL_ACTION" ) {
                        doYourSpecialProcessint(message, action);
                    }
                }
            }
        } else if (message.getVersion() instanceof Soap12) {
          ...........
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM