亚洲精品亚洲人成在线观看麻豆,在线欧美视频一区,亚洲国产精品一区二区动图,色综合久久丁香婷婷

              當(dāng)前位置:首頁(yè) > IT技術(shù) > 其他 > 正文

              在 xfire中使用 GZip來(lái) 壓縮 傳輸量
              2022-09-06 22:42:05


              在XFire1.2以后支持SOAP消息的GZip壓縮傳輸,在合適的地方啟動(dòng)GZip壓縮可以減少網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,加快速度。

              文章目錄

              1. jar下載地址

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

              在 xfire中使用 GZip來(lái) 壓縮 傳輸量_zip壓縮


              或者直接點(diǎn)擊下載最新版本:

              ??https://sourceforge.net/projects/pjl-comp-filter/files/latest/download??

              2. 服務(wù)端

              服務(wù)端啟動(dòng)GZip:在服務(wù)端啟動(dòng)GZip只需將PJL Compressing Filter下的jar包(用到的)導(dǎo)入到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>

              服務(wù)端加入GZip時(shí)web.xml中增加的配置

              注:根據(jù)web.xml文法定義,這個(gè)定義必須位于servlet定義之前。

              二、客戶端啟用GZip:客戶端啟動(dòng)GZip只要將客戶端的GZip的屬性設(shè)為true卻可。代碼如下:

              3.客戶端

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

              = "http://192.168.0.225/ldaxfire/services/LDAService";
              String namespace = "http://test.yicha.cn/adreport";

              // 創(chuàng)建service對(duì)象
              Service serviceModel = new ObjectServiceFactory().create(ServiceInf.class, null,
              namespace,null);
              XFireProxyFactory serviceFactory = new XFireProxyFactory();
              // 獲取服務(wù)對(duì)象
              ServiceInf service = (ServiceInf) serviceFactory.create(serviceModel, serviceURL);
              // 獲取客戶端代理
              Client client = ((XFireProxy) Proxy.getInvocationHandler(service)).getClient();
              /**
              * 此屬性作用:開(kāi)啟GZip壓縮傳輸
              * 客戶端配置屬性影響:當(dāng)服務(wù)端沒(méi)有啟用GZip,客戶端啟用請(qǐng)求GZip壓縮時(shí),會(huì)產(chǎn)生SOAP解析錯(cuò)誤
              * 服務(wù)端配置屬性影響:服務(wù)端這個(gè)配置不管配不配置(也就是說(shuō):如果服務(wù)端啟動(dòng)了GZip壓縮功能,客戶端是否啟用GZip都沒(méi)有影響)
              */
              // 啟動(dòng)response壓縮
              client.setProperty(CommonsHttpMessageSender.GZIP_RESPONSE_ENABLED, Boolean.TRUE);
              // 啟動(dòng)request壓縮
              client.setProperty(CommonsHttpMessageSender.GZIP_RESPONSE_ENABLED,Boolean.TRUE);
              // 同時(shí)啟動(dòng)response和request壓縮
              client.setProperty(CommonsHttpMessageSender.GZIP_ENABLED,Boolean.TRUE);
              // 忽略超時(shí)
              client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, "0");
              // 調(diào)用服務(wù) //這里的nciicCompare是服務(wù)端接口 accreditFile是秘鑰 reqXML2請(qǐng)求報(bào)文
              String data = service.nciicCompare("","");

              注:在同時(shí)啟用時(shí),不必再分別啟用response和request的GZip壓縮。
              注意,當(dāng)服務(wù)端沒(méi)有啟用GZip,客戶端啟用請(qǐng)求GZip壓縮時(shí),會(huì)產(chǎn)生SOAP解析錯(cuò)誤,如果服務(wù)端啟動(dòng)了GZip壓縮功能,客戶端是否啟用GZip都沒(méi)有影響。

              推薦企業(yè)級(jí)xfire搭建
              ???IDEA快速 實(shí)現(xiàn) SpringMVC 整合x(chóng)fire 發(fā)布 WebService 服務(wù)??


              本文摘自 :https://blog.51cto.com/g

              開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >