日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在 xfire中使用 GZip来 压缩 传输量

發布時間:2024/9/27 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在 xfire中使用 GZip来 压缩 传输量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在XFire1.2以后支持SOAP消息的GZip壓縮傳輸,在合適的地方啟動GZip壓縮可以減少網絡傳輸的數據量,加快速度。

文章目錄

            • 1. jar下載地址
            • 2. 服務端
            • 3.客戶端

1. jar下載地址

https://sourceforge.net/projects/pjl-comp-filter/

或者直接點擊下載最新版本:
https://sourceforge.net/projects/pjl-comp-filter/files/latest/download

2. 服務端

服務端啟動GZip:在服務端啟動GZip只需將PJL Compressing Filter下的jar包(用到的)導入到web的/WEB-INF/lib目錄下。

并在web.xml文件中增加如下配置:

<filter><filter-name>CompressingFilter</filter-name><filter-class>com.planetj.servlet.filter.compression.CompressingFilter</filter-class><init-param><param-name>debug</param-name><param-value>false</param-value></init-param><init-param><param-name>statsEnabled</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CompressingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

服務端加入GZip時web.xml中增加的配置

注:根據web.xml文法定義,這個定義必須位于servlet定義之前。

二、客戶端啟用GZip:客戶端啟動GZip只要將客戶端的GZip的屬性設為true卻可。代碼如下:

3.客戶端

早期:客戶端調用的修改(不建議使用)

String serviceURL = "http://192.168.0.225/ldaxfire/services/LDAService";String namespace = "http://test.yicha.cn/adreport";// 創建service對象Service serviceModel = new ObjectServiceFactory().create(ServiceInf.class, null,namespace,null);XFireProxyFactory serviceFactory = new XFireProxyFactory();// 獲取服務對象ServiceInf service = (ServiceInf) serviceFactory.create(serviceModel, serviceURL);// 獲取客戶端代理Client client = ((XFireProxy) Proxy.getInvocationHandler(service)).getClient();/*** 此屬性作用:開啟GZip壓縮傳輸* 客戶端配置屬性影響:當服務端沒有啟用GZip,客戶端啟用請求GZip壓縮時,會產生SOAP解析錯誤* 服務端配置屬性影響:服務端這個配置不管配不配置(也就是說:如果服務端啟動了GZip壓縮功能,客戶端是否啟用GZip都沒有影響)*/// 啟動response壓縮client.setProperty(CommonsHttpMessageSender.GZIP_RESPONSE_ENABLED, Boolean.TRUE);// 啟動request壓縮client.setProperty(CommonsHttpMessageSender.GZIP_RESPONSE_ENABLED,Boolean.TRUE);// 同時啟動response和request壓縮client.setProperty(CommonsHttpMessageSender.GZIP_ENABLED,Boolean.TRUE);// 忽略超時client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, "0");// 調用服務 //這里的nciicCompare是服務端接口 accreditFile是秘鑰 reqXML2請求報文String data = service.nciicCompare("","");

注:在同時啟用時,不必再分別啟用response和request的GZip壓縮。
注意,當服務端沒有啟用GZip,客戶端啟用請求GZip壓縮時,會產生SOAP解析錯誤,如果服務端啟動了GZip壓縮功能,客戶端是否啟用GZip都沒有影響。

推薦企業級xfire搭建
IDEA快速 實現 SpringMVC 整合xfire 發布 WebService 服務

總結

以上是生活随笔為你收集整理的在 xfire中使用 GZip来 压缩 传输量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。