導航:首頁 > 版本升級 > cxf文件

cxf文件

發布時間:2023-01-31 11:29:35

1. xcf格式圖片怎樣轉換為png格式

可以在GIMP軟體裡面轉換,選擇[文件]-[導出為],選擇png格式就可以(不是另存為),快捷鍵win:control+shift+E;mac:command+shift+E。

2. SpringBoot+CXF 實現簡單的webservice,並支持Basic驗證

CXF內置了很多攔截器,大部分默認添加到攔截器鏈中,有些攔截器也可以手動添加,如CXF的日誌攔截器。如果需要自定義攔截器,只要繼承AbstractPhaseInterceptor或者AbstractPhaseInterceptor的子類(如AbstractSoapInterceptor)

如果是傳統的spring+cxf 項目,攔截器的寫法是一樣的,只是發布和配置的方法在cxf的配置文件的xml中進行

WSDL 地址: http://localhost:8080/SpringBootDemo_eclipse/soap/ihelloService?wsdl

CXF 自動編譯解析的客戶端

客戶端basic 認證調用

3. cxf 文件上傳

建議轉碼上傳,首先將文件轉成位元組數據,再轉成16進制字元表示形式,將最後生成的字元串作為參數調用cxf方法,cxf上在通過解碼還原迴文件

4. CXF解析svcwsdl文件成java格式

1.安裝JDK1.5,配置系統環境變數:
下載安裝JDK後,設置環境變數:
JAVA_HOME=C:/ProgramFiles/Java/jdk1.5.0_02
Path=%Path%;%JAVA_HOME%/bin(這里的%Path%指你系統已經有的一系列配置)
CLASSPATH=%JAVA_HOME%/lib
2.下載CXF,配置系統環境變數:
CXF下載地址http://cxf.apache.org/download.html
配置環境變數:
CXF_HOME=E:WebServiceCXFapache-cxf-2.1.1apache-cxf-2.1.1(以我的目錄為例)
PATH後追加上「;%CXF_HOME%in」
在cmd命令行中輸入wsdl2java如果顯示其用法表示配置好了。
3.運行命令是:wsdl2javad:documentwebservicehello.wsdl(wsdl的路徑)

4.如果沒有報錯就表示執行成功了,但是執行成功後的java文件生成到什麼地方了?系統沒有提示,當時我就用了一種最笨的方法來找,在整個電腦裡面搜索才找到的,後來我才發現了規律,就是你敲入命令的時候,所處的路徑,肯定就是你文件生成的地方,我當時是cmd直接進入的,
路徑是C:,所以生成的文件也在這個目錄下。
5.新建工程,將生成的java文件和所需要的jar包導入即可。

參考地址:

http://radio123.iteye.com/blog/1134267

5. 如何使用CXF將 wsdl 文件變成java文件

用myeclipse將wsdl文件生成java代碼
1、選擇新建的工程後,點擊右鍵,選擇「Run As」->「Run」,如下圖所示:

2、彈出如下窗口:

3、 在上圖中,左邊選擇「Java Application」後,點擊左上角的新增「」按鈕new configuration,頁面如下圖所示:

4、在上圖中,將「Include libraries when searching for a main class」 勾上,而後點擊「Main class」右邊的「Search」按鈕,彈出窗口如下圖所示:

5、在上圖中輸入WSDL2Java後,查找到axis這個jar包中對應類,點擊「OK」按鈕,此時主窗口如下圖所示:

6、在上圖中點擊「Arguments」頁簽,Arguments里把要生成的web service URI或wsdl文件寫進去,最後點run。在下圖中輸入的是wsdl文件的路徑: src/wsdl/acd_accessCode_interface.wsdl、src/wsdl/acd_accessCode_service.wsdl:

7、生成的java代碼如下:

6. .cxf是什麼文件格式在scifinder搜索結構式需要用到

以前的客戶端版,和現在的網路版都帶有繪圖的工具,把結構畫進去保存時就是cxf文件,可惜在chemdraw打不開

7. cxf在轉換wsdl文件文件時報錯,找不到指定的文件

你的wsdl文件中需要qrySPFeeDetailInfoReq.xsd這個文件唄
放到一個文件夾下即可 如果沒有 說明你這個wsdl是不完整的

8. .cxf是什麼文件格式

cxf文件是音頻文件 將後綴改成MP3可直接播放

9. cxf怎樣提高webservice性能,及訪問速度調優

1、 啟用FastInfoset(快速信息集)

webservice的性能實在是不敢恭維。曾經因為webservice吞吐量上不
去,對webservice進行了一些性能方面的優化,採用了FastInfoset,效果很明顯,極端條件下的大數據量傳輸,性能提高60%,他可以減
少傳輸成本,序列化成本和xml解析成本。

Cxf提供了FastInfoset協商機制,實現類見org.apache.cxf.feature.FastInfosetFeature,在bus中啟用如下配置:

<cxf:features><cxf:fastinfoset force="false"/></cxf:features>

Force=false表示服務端和客戶端第一次通信時會協商(通過檢查標準的HTTP頭的Accept欄位,值為MIME類型的application/fastinfoset)是否啟用FastInfoset支持,如果客戶端不支持,則不啟用快速信息集。

需要在pom中添加依賴:

<dependency>

<groupId>com.sun.xml.fastinfoset</groupId>

<artifactId>FastInfoset</artifactId>

<version>1.2.9</version>

<type>jar</type>

<scope>compile</scope>

</dependency>

FastInfoset參考:http://java.sun.com/developer/technicalArticles/xml/fastinfoset/

client和service端都要配置

2、 啟用gzip壓縮支持

客戶端和伺服器端是否使用Gzip壓縮,也是基於http協議協商的(檢查請求
header 中是否有Accept-encoding:gzip)。但是這里需要仔細權衡下。對於小數據量,啟用gzip壓縮支持是吃力不討好的行為,
數據量很小的時候,gzip壓縮結果不明顯,還浪費cpu。我們需要權衡數據大小,按照經驗設置threshold為10*1024byte。

在bus中啟用如下配置:

<bean class="org.apache.cxf.transport.common.gzip.GZIPFeature ">

<property name="threshold"><value>10240</value></property>

</bean>

官方文檔指定是是配置org.apache.cxf.transport.http.gzip.GZIPFeature,但是這個類會找不到,可能是官方文檔年久失修,造成一些混亂。官方文檔中也沒提示指定threshold,請參考GZIPFeature源代碼。

參考http://cxf.apache.org/docs/featureslist.html

3、 使用slf4j代替cxf默認日誌組件

CXF 默認使用java.util.logging作為日誌列印組件,其性能我就不過多評價,也不太便於我們做統一日誌管理。目前系統使用的slf4j作為日誌列印組件,替換如下:

在classpath中加入META-INF/cxf/org.apache.cxf.Logger文件,文件內容為

org.apache.cxf.common.logging.Slf4jLogger

4、 測試中啟用日誌

bus中加入<cxf:logging/>,請在測試環境中啟用有助於debug

補充:

1、如何自定義返回碼:

請求在service中處理遇到異
常後,會調用請求鏈中所有攔截器的handleFault方法,參考PhaseInterceptorChain#unwind,然後判斷請求是否單向請
求,如果不是,則構建異常請求鏈,並構建異常message對象,調用異常請求鏈中的handleMessage 方法(參
考:)

JAXWSMethodInvoker
轉發soap請求到指定對象的方法,如果在請求處理失敗,調用updateHeader方法,把請求時的soap
header放入返回header中。但是不同通過繼承JAXWSMethodInvoker來實現清除異常時soap
header也返回給客戶端的問題,因為JAXWSMethodInvoker沒有採用注入的機制
(JaxWsServerFactoryBean#createInvoker)也沒有chain.異常時,會由這些攔截器處理返回請求:

setup []

prepare-send [MessageSenderInterceptor, Soap11FaultOutInterceptor]

pre-stream [LoggingOutInterceptor, StaxOutInterceptor]

pre-protocol [WebFaultOutInterceptor]

write [SoapOutInterceptor]

攔截器初始化類

我們可以在異常鏈中加入清理soap header的攔截器,清理掉在系統異常時soapheader中有信息的問題。

返回錯誤狀態碼,在執行Soap11FaultOutInterceptor攔截器中被寫死。

message.put(org.apache.cxf.message.Message.RESPONSE_CODE, new Integer(500));

為了使返回數據中有錯誤碼,需要在Soap11FaultOutInterceptor後面加入攔截器

2、在項目測試時遇到一個報錯
invalid LOC header (bad
signature),這個問題是因為jar包損壞照成的,雖然構建路徑中有這個jar,但是還是會出現loadClass失敗,清理maven 本地倉
庫目錄的jar,修改pom(比如加上一空行)讓m2e重新載入。
3、Cxf中有一個很不錯的特性,支持javascript訪問soap
webservice,客戶端訪問http://localhost:8080/cxf/HelloWorld?js類似的請求,會生成
javascript 客戶端,js編程時就可以使用此客戶端提供的對象,啟用此功能需要在引入

<import resource="classpath:META-INF/cxf/cxf-extension-javascript-client.xml" />並且在依賴中加入:

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-javascript</artifactId>

<version>2.4.1</version>

<type>jar</type>

<scope>compile</scope>

</dependency>

10. 6、CXF與spring的整合(WebService的整合)

web.xml

說明: 這里主要配置了 spring 的配置文件地址, spring 監聽器、 CXF 核心控制器。

applicationContext.xml

說明:

在 spring 的配置文件中使用 jaxws:endpoint 元素來暴露 WebService ,這里有兩種方式:

然後我們就可以將工程部署到 tomcat 中,在瀏覽器中使用
地址 http://localhost:8080/cxf_spring/myService 訪問我們的 WebService 工程。

MyClient.java

注意: myService 指定我們的服務名字(在 web.xml 中配置),而 fkjava 指定服務提供者的地址(在 applicationContext.xml 中配置)。同時這種集成不好,因為將地址寫死了,沒有使用 spring 的注入方式。
我們看 HelloWorldWs.java 這個服務類:

可以看到其中的實際業務處理類還是使用的手工方法進行實例化,沒有使用 spring 的注入方式。

在 spring 的配置文件中改變暴露 WebService 的方式:

說明: 加 # 號是為了讓伺服器知道這個名字不是一個類 ,而只是一個 id 。
然後改造 HelloWorldWs.java 服務類:

然後我們再次使用之前的地址進行訪問,發現效果還是一樣的。

在上面配置的基礎上進行添加,在 applicationContext.xml 中:

此時,和以前一樣我們需要在客戶端(工程 Call_CXFSpring )那邊加上攔截器,添加上用戶名和密碼的頭,然後對伺服器進行訪問。以此來進行驗證。客戶端中我們運行類:
MyClient.java

訪問服務端。

傳統的 SSH 項目中,一般在本地是有相關的數據的,但是有一種場景是我們需要調用別人的數據,但是別人的數據不可能讓我們進行修改等操作,那麼別人只會暴露一個 WebService ,而我們就需要去調用別人的 WebService 伺服器。我們在訪問別人時,只能得到 WSDL 文檔。此時我們的項目中就不需要業務邏輯組件了,直接去調用別人的 WebService 的一個代理即可。

首先我們拷貝上面的工程,改名為 cxf_springClient ,然後需要增加 struts2 的相關 jar 包:

將原有的一些包刪掉,留下許可權包 org.fkjava.cxf.ws.auth 。然後我們啟動工程 Auth_Server 提供遠程服務。在 web 工程中生成相應的包及程序

web.xml

說明: 這里我們不再需要 CXF 的 servlet 了,因為不需要業務類了,我們直接調用遠程業務即可。同時配置 struts2 的核心控制器。

applicationContext.xml

說明: 這里我們同樣不需要業務類了,但是需要配置遠程業務代理類( serviceClass )。同時注意:不要將埠設置為8080,會沖突。可以看到我們使用 serviceClass 將介面配置進去,而這里的 id 不能隨便寫,要和 action 中定義的介面名一致。由於遠程伺服器設置了許可權攔截,所以這里使用過濾器將用戶名和密碼設置到 wsdl 文檔的頭中。然後在這個類中我們需要使用 execute 方法去獲取相應的數據。

struts.xml

ListCatsAction .java

說明: 此時我們就可以使用地址 http://localhost:8080/cxf_springClient/listCats 進行訪問了,當然會報找不到 jsp 的錯誤。

content/listCats.jsp

說明: 此時訪問就可以看到

閱讀全文

與cxf文件相關的資料

熱點內容
t8cad文件怎麼打開 瀏覽:275
英語趣配音網路未連接 瀏覽:740
linuxdeb文件安裝 瀏覽:153
word如何在箭頭上寫字 瀏覽:821
安全刪除數據為什麼要重寫硬碟 瀏覽:873
稅務系統網路與信息安全應急保障工作框架 瀏覽:407
淘寶背景代碼生成 瀏覽:649
小學特色託管編程圖形如何 瀏覽:748
編程實驗分析怎麼寫 瀏覽:58
滑鼠編程宏怎麼設置 瀏覽:100
怎麼清除百度登錄過網站 瀏覽:503
linuxl2 瀏覽:116
蘋果升級一直重啟怎麼解決 瀏覽:827
農商銀行app怎麼登錄不上去 瀏覽:47
查看已連接寬頻密碼 瀏覽:822
日本創建購物網站需要什麼 瀏覽:723
數據拐點什麼時候出來 瀏覽:640
怎麼做到徹底理解編程語言 瀏覽:167
機器人和程序編程哪個好 瀏覽:563
怎麼改蘋果手機icloud賬號和密碼 瀏覽:526

友情鏈接