javawsdl2java
⑴ axis2的wsdl2java命令可以生成wsdl的服務端和客服端代碼,請問各位大牛這個客服端和服務端的有什麼區別。
生成的服務端是你本機作為服務的提供者;生成客戶端是為了你去調用服務端提供的服務。
如果你想調用服務的話,當然是用生成的客戶端代碼了。
⑵ cxf wsdl2java命令生成客戶端java類,怎麼設置超時時間
可能是wsdl2java命令沒有生成超時的代碼,具體需要研究下生成代碼的wsdl2java的工作原理,我一般都是手動設置超時時間
Service
service
=
new
Service();
Call
call
=
(Call)
service.createCall();
call.
setTimeout
(1000*60*15);
//設置超時時間
15分鍾
運行命令WSDL2Java。
生成服務端代碼命令是WSDL2Javauriwsdl文件全路徑p包名dxmlbeanss,sssdssio生成的java代碼存放路徑。生成客戶端包代碼命令是WSDL2Java至uriwsdl文件全路徑p包名dxmlbeansso生成的java代碼存放路徑。
源碼就是指編寫的最原始程序的代碼。運行的軟體是要經過編寫的,程序員編寫程序的過程中需要他們的語言。音樂家用五線譜和音符,建築師用圖紙和筆,那程序員的工作的語言就是源碼了。
⑷ 用CXF的wsdl2java命令行處理wsdl文件,總提示文件名目錄名或卷標語法不正確。
你在wsdl2java工具目錄下執行以下試試 然後wsdl路徑寫絕對路徑
或者建議你在eclipse裡面去用wsdl2java工具 這樣很多環境變數什麼的在eclipse中配置就行了 而且提示更加明確,方便查錯
⑸ springmvc框架如何實現像webservice一樣通過wsdl2Java生成客戶端代碼
在用到web service時,如果是調用自己開發的web service還好,可以有一個方法的介面或參數對象實體類什麼的,但如果是調用第三方的服務,除了得到web service服務地址的wsdl文檔外,沒有任何實質性編碼的東西,寫原生調用太麻煩,這時就需要自己寫一個方法的介面類。
這個,目前已經有比較成熟的工具,可以自動生成,下面作一下簡單的介紹。
apache的wsdl2java工具,目前貌似CXF和axis各有一套,使用方式大同小異,但生成的代碼會有所區別,這時說的是CXF提供的wsdl2java工具。
wsdl2java用法:
wsdl2java -p com -d src -all aa.wsdl
-p 指定其wsdl的命名空間,也就是要生成代碼的包名:
-d 指定要產生代碼所在目錄
-client 生成客戶端測試web service的代碼
-server 生成伺服器啟動web service的代碼
-impl 生成web service的實現代碼
-ant 生成build.xml文件
-all 生成所有開始端點代碼:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.
詳細用法見:http://cwiki.apache.org/CXF20DOC/wsdl-to-java.html
一開始使用了CXF的這套工具,發現不是很方便,畢竟依賴CXF提供的工具jar包,個人不是很喜歡用。
後來發現JDK居然也自帶了對web service生成java代碼的功能,貌似1.6版本開始的,試用後發現效果十分不錯,果斷投入它的懷抱。下面作下簡單的介紹,以備忘。
打開jdk下的bin目錄 看下能否找到"wsimport.exe"這個文件
一般情況下都會有
如果沒有則說明你的JDK不支持這個功能
然後在DOS窗口下輸入wsimport 敲回車
如果提示錯誤的話 說明你的JDK環境變數還沒有配好
一句話總結,如果你在dos窗口下輸入wsimport正常,就可以
如果OK的話 輸入以下命令就可以將wsdl文件生成java文件了
wsimporthttp://127.0.0.1/TicketMobile/services/Cococ?wsdl -keep -p com.llg.ws2 -s g:/ws
參數說明
wsimport 這個是必須的 該工具的名稱
http://127.0.0.1/TicketMobile/services/Cococ?wsdl wsdl文件
-keep 是否生成源文件
-p com.llg.ws2 生成後的java包名
-s g:/ws 生成後放哪個目錄
但是前幾天,在對一個第三方提供的web service使用該工具生成java代碼的時候,居然出錯了,網上查找後終於找到原因。
使用cxf wsdl2java或javax wsimport工具的時候,可能會遇到關於生成的Response類文件名沖突的問題
Console代碼
WSDLToJavaError:ThrownbyJAXB:Aclass/interfacewiththesamename"***"isalreadyinuse..
@WebMethod
@WebResult(name="response")
(@WebParam(name="request")ValidateCCRequestrequest);
@WebMethod
@WebResult(name="response")
(@WebParam(name="request")ValidateCCRequestrequest);
目前可選擇的方案:
apache的wsdl2java工具,使用-autoNameResolution自動處理
wsdl2java -autoNameResolutionhttp://hello.joy2everyone.com/yourWebService?wsdl
JDK自帶的工具
wsimport -p com.test.client -keephttp://hello.joy2everyone.com/yourWebService?wsdl-B-XautoNameResolution
2.如果web service是己方開發的,可以修改代碼,使用自定義bindings,詳細可看sun webservice文檔
例如:
Java代碼
這個情況下定義的方法名,如果使用工具生成客戶端代碼,很可能存在Response沖突,因為定義的wsdl中會有一個關於介面方法的message
<wsdl:message name="validateCCResponse">
</wsdl:message>
方法名定義的message與介面定義返回的ValidateCCResponse,在工具生成客戶端代碼時就會產生命名沖突。
但是通過更改介面方法名為:
Java代碼
即可解決該沖突,
⑹ java使用axis調用webservice問發送簡訊,怎麼調用啊,下面是他們給的文檔
要使用Java和Axis調用WebService發送簡訊,首先需要獲取目標WebService的WSDL地址。通過這個地址,可以生成Web Service Client。具體步驟如下:
1. 首先,確保已經安裝了Axis庫。如果沒有安裝,可以從官方網站下載並安裝。
2. 使用Axis提供的wsdl2java工具,通過WSDL地址生成Java客戶端代碼。命令格式如下:
wsdl2java -s -o output_directory -p package_name wsdl_url
例如,如果WSDL地址是http://example.com/service?wsdl,那麼命令可能是:
wsdl2java -s -o client -p com.example http://example.com/service?wsdl
3. 生成的Java代碼會包含與WebService交互所需的類和方法。其中,最重要的方法是sendSms(),用於發送簡訊。
4. 在Java代碼中,可以通過以下方式調用sendSms()方法:
首先,創建一個WebService服務代理對象:
java
WebServiceClient client = new WebServiceClient();
然後,調用sendSms()方法:
java
client.sendSms("手機號碼", "簡訊內容");
5. 如果在調用過程中遇到問題,可以通過檢查生成的客戶端代碼和WebService文檔來解決。文檔通常會包含詳細的方法參數說明和示例。
6. 確保網路連接正常,且WebService服務端正在運行。如果服務端不可用,將會導致調用失敗。
以上就是使用Java和Axis調用WebService發送簡訊的基本步驟。通過遵循這些步驟,可以順利完成簡訊發送任務。
⑺ cxf的wsdl2java命令和JDK的wsimport命令的區別和使用
JDK提供了一個wsimport.exe的命令,主要是用於將WebService生成客戶端代碼,然後好調用WebService。
wsimport 是根據JDK1.6.0_21及以上的生成本地代碼的,它只能解析伺服器端的SOAP協議為1.1,不能解析SOAP1.2的協議。如果解析SOAP1.2 將會解析不完全。
用法:前提是已經將JDK配置為了path環境變數 C:\Documents and Settings\Administrator>wsimport -s F:\ -p com.client.jdk.wsimport http://localhost:1111/hello?wsdl
-s 後面指定生成文件的路徑,-p 自定義類包 http://localhost:1111/hello?wsdl 是wsdl的路徑。
CXF也提供了根據WSDL生成客戶端代碼的命令wsdl2java.exe 。它是根據jdk1.7生成的本地代碼,所以,需要對生成的代碼做一點點修改。
它可以支持SOAP1.1 和SOAP1.2的協議。前提是你已經下載了Apache CXF 並且將wsdl2java.exe配置為了path環境變數。
用法:C:\Documents and Settings\Administrator>wsdl2java -d F:\ -p com.client.cxf http://localhost:1111/hello?wsdl
-d 後面指定生成文件的路徑,-p 自定義類包 http://localhost:1111/hello?wsdl 是wsdl的路徑。