大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 用CXF為Web Service添加攔截器

用CXF為Web Service添加攔截器

更新時間:2020-09-18 17:20:17 來源:動力節點 瀏覽1316次

Web Service的攔截器分為Service端和Client端,攔截器是在發送soap消息包的某一個時機攔截soap消息包,對soap消息包的數據進行分析或處理。用CXF為Web Service添加攔截器的方式有兩種分別為為CXF自帶的攔截器和自定義的攔截器。

1.Service端:

通過將org.apache.cxf.jaxws.EndpointImpl類的方法即可實現

發布Web Service 方法可以通過Endpoint.publish()方法,此方法返為EndpointImpl,所以為Service端添加攔截器很簡單。

部分代碼:

UserService us = new UserServiceImpl();

String address = "http://192.168.10.254:9999/crazyit";

EndpointImpl ep = (EndpointImpl)Endpoint.publish(address , us);

//下面方法就可以添加攔截器(CXF提供的攔截器)

//cxf-2.2.10.jar org.apache.cxf.interceptor.* (CXF提供的攔截器)

ep.getOutInterceptors().add(new LoggingOutInterceptor());

ep.getInInterceptors().add(new LoggingInInterceptor());

ep.getInInterceptors().add(new AuthIntercetpr()); //此攔截器是自定義的攔截器。

2.Client端 客戶端可以通過對org.apache.cxf.frontend.ClientProxy中的getClient()方法獲取org.apache.cxf.endpoint.Client對象,該對象可以為客戶端添攔截器。

部分代碼

//為客戶端添加攔截器

org.apache.cxf.endpoint.Client client = ClientProxy.getClient(us);

client.getInInterceptors().add(new LoggingInInterceptor());

client.getOutInterceptors().add(new LoggingOutInterceptor());

//自定義攔截器

client.getOutInterceptors().add(new AddHeaderInterceptor("crazyit" , "crazyit.org2"));

3.自定義的攔截器

自定義攔截器需要繼承org.apache.cxf.phase.AbstractPhaseInterceptor 抽象類,并實現其handleMessage方法,與重寫自定義的構造器(由于AbstractPhaseInterceptor 沒有無參構造器,所以要在自定義構攔截器的造器中調用supper(帶參數))。

部分代碼

public class AuthIntercetpr extends AbstractPhaseInterceptor{

public AuthIntercetpr() {

//子類總會調用父類的構造器,

//默認是調用無參數的構造器。

//指定該攔截器在哪個階段被激發

super(Phase.PRE_INVOKE);

}

//處理消息

public void handleMessage(SoapMessage message) {

System.out.println("==================" + message);

//獲取SOAP消息的全部頭

List

headers = message.getHeaders();


if(headers.size() < 1) {

throw new Fault(new SOAPException("SOAP消息頭格式不對哦!"));

}

for(Header header : headers) {

SoapHeader soapHeader = (SoapHeader)header;

//取出SOAP的Header元素

Element element = (Element)soapHeader.getObject();

checkSOAPHeader(element);

}

}

以上就是CXF為Web Service添加攔截器的方法,這三種攔截器各有優劣勢,我們在選用的過程中可以根據實際需求擇優選取,以達到更好的代碼編寫效果。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 99精品热视频 | 欧美成人高清免费大片观看 | 欧美激情xxxx性bbbb | 乱子伦有声小说mp3 仑乱高清在线一级播放 | 毛片黄片视频 | 久久午夜夜伦伦鲁鲁片 | 少妇美女极品美軳人人体 | 成人亚洲性情网站www在线观看 | 成人yyyy | 日本级毛片免费观看 | 午夜一级影院 | 亚洲免费在线观看视频 | 亚洲精品国产综合久久一线 | www.久久视频 | 手机看片日韩日韩 | 一区一精品 | 欧美性猛交xxxxbbbb | 亚洲综合精品香蕉久久网 | 国产日韩欧美亚洲综合在线 | 欧美黄色毛片 | 亚洲无卡视频 | 色综合久久九月婷婷色综合 | 五月天婷婷网址 | 亚洲精品福利在线 | 精品久久久久久无码中文字幕 | 久久国产欧美另类久久久 | 日韩欧美在线视频 | 天天干天天操天天操 | 欧美视频色 | 亚洲最大视频网站 | 久久久久久久久性潮 | 天天拍夜夜添久久精品免费 | 在线播放性xxx欧美 在线播放亚洲 | 黄色在线观看视频免费 | 国产精品久久久久久五月尺 | 亚洲欧洲一区二区三区在线观看 | 中国一级毛片 | 亚洲视频在线一区二区 | 国产不卡在线观看视频 | 久久久久久久综合日本亚洲 | 国产性一交一乱一伦一色一情 |