Web Service 首發於 "開源中國" 1. 背景 中國移動簡訊網關需求,要能夠發送簡訊。開發材料只有一個簡訊發送配置:包括ID,password,code,url。一個jar包還有一個老舊的html幫助文檔。 最初將單個jar包加入工程,按照文檔中new 一個對象,直接填入參數發送的來,以為 ...
Web Service
首發於開源中國
1. 背景
- 中國移動簡訊網關需求,要能夠發送簡訊。開發材料只有一個簡訊發送配置:包括ID,password,code,url。一個jar包還有一個老舊的html幫助文檔。
- 最初將單個jar包加入工程,按照文檔中new 一個對象,直接填入參數發送的來,以為就可以了。但是線上調試有null異常。之後一直在用該jar包調試,以為缺少依賴,於是在pom文件中加入了各種依賴,沒跑一次就說缺class,終於不報缺calss錯誤了,還是有null異常。為此調試了好幾次,還寫了測試程式都不行。
- 於是網上找材料,發郵件問部署簡訊服務的人,給的結論是:jar包老舊僅供參考,要使用web service自行開發。還給了一個比較新的html幫助文檔。但是文檔在win10下都打不開,還得再win7上才能看。於是就開始了web service的探索。
還好網上搜到了一個網址,可以幫助理解,不然每次都得遠程上線調試真是要命。
2. 基礎知識
- 該web service類似於:http://111.1.3.11:9080/OpenMasService
- 該服務的主要內容是:http://111.1.3.11:9080/OpenMasService?wsdl
於是參考: 使用命令wsimport構建WebService客戶端 線上上執行以下命令:這裡必須線上上運行,不然會報連接錯誤。而且這個命令也不是都能成功,很多不匹配的規範會導致不能解析。還好我這兒沒出錯。
wsimport -keep -d ./ -s ./src -p com.james1 -verbose url或保存本地的wsdl文件
於是生成本地文件,就是java的開發包了。
└─james
AddTask1.java
AddTask1Response.java
AddTask2.java
AddTask2Response.java
ArrayOfstring.java
DayOfWeek.java
GetMessage.java
GetMessageResponse.java
GetWaitSmsMessageCount.java
GetWaitSmsMessageCountResponse.java
ISms.java
ObjectFactory.java
package-info.java
PeriodTime.java
PeriodType.java
PeriodValue.java
RemoveMessage.java
RemoveMessageResponse.java
RemoveTask.java
RemoveTaskResponse.java
SendMessage3.java
SendMessage3Response.java
SendMessage4.java
SendMessage4Response.java
SendWapPush1.java
SendWapPush1Response.java
SendWapPush2.java
SendWapPush2Response.java
SmsImplementation.java
SmsMessage.java
- 這樣在java工程中調用SmsImplementation.java即可:
String result = smsImplementation.getBasicHttpBindingISms().sendMessage3(address,message,extendCode,applicationID,password);
- 對於自定義web service服務參考材料:
- 公共開放WebService介面:http://blog.csdn.net/yixiaoping/article/details/16877623
3. 打jar包
- 參考:Java中打jar包的方法
- 查看jar包中的內容:
jar tvf target/myproject-0.0.1-SNAPSHOT.jar
- 創建jar包
jar cvf 打成的jar包的名字 (一個或者多個)class文件或者文件夾