SOAP 協(xié)議相關(guān)代碼生成操作說明 1、 根據(jù)消息接口定義接口類 根據(jù)接口文檔中定義的接口名、接口參數(shù)定義出接口類。 示例:ACC 提供給 MDMC 查詢明細(xì)賬接口。接口采用 SOAP 協(xié)議,接口服務(wù)為: http://BSSPCenter/acc/services/ BSSPAccMDSPService,接口方法為 queryUserBillDetail 需要定義出接口:BSSPAccMDSPService.java public interface BSSPAccMDSPService { public QueryUserBillDetailResponse queryUserBillDetail(String PseudoID, int QueryFlag, int billType, String BeginTime, String EndTime, String TransactionID, String BillStartStreamNo, int BillCount, String SignData); } 注意:如果該服務(wù)(BSSPAccMDSPService)中還定義了多個(gè)方法,都在這個(gè) interface 中列 出來(lái)。QueryUserBillDetailResponse 等響應(yīng)類需要自己構(gòu)造,保證代碼編譯通過。 2、 生成WSDL 執(zhí)行命令如下: java -cp .;../service/acc/lib/axis.jar;../service/acc/lib/commons-logging. jar;../service/acc/lib/commons-discovery.jar;../service/acc/lib/wsdl4 j.jar;../service/acc/lib/jaxrpc.jar;../service/acc/lib/saaj.jar org.apache.axis.wsdl.Java2WSDL -o BSSPAccMDSPService.wsdl -l"http://localhost/acc/services/BSSPAccMDSPService" com.huawei.itellin.acc.soap.BSSPAccMDSPService 注意:axis.jar 等 jar 包的路徑根據(jù)實(shí)際情況而定,保證能找到各個(gè) jar 包即可。 -o BSSPAccMDSPService.wsdl 是指生成的 wsdl 的名稱為 BSSPAccMDSPService.wsdl。 -l http://localhost/acc/services/BSSPAccMDSPService 是指發(fā)布 soap 服務(wù)的路 徑,具體實(shí)現(xiàn)中要和接口中的業(yè)務(wù)目錄、服務(wù)名保持一致。 3、 根據(jù)WSDL生成SOAP服務(wù)代碼 java -cp .;../service/acc/lib/axis.jar;../service/acc/lib/commons-logging. jar;../service/acc/lib/commons-discovery.jar;../service/acc/lib/wsdl4 j.jar;../service/acc/lib/jaxrpc.jar;../service/acc/lib/saaj.jar org.apache.axis.wsdl.WSDL2Java BSSPAccMDSPService.wsdl -S true 生成的文件包括: deploy.wsdd BSSPAccMDSPService.java BSSPAccMDSPServiceService.java BSSPAccMDSPServiceServiceLocator.java BSSPAccMDSPServiceSoapBindingSkeleton.java BSSPAccMDSPServiceSoapBindingStub.java 4、 部署soap服務(wù) java -classpath .;../service/acc/lib/axis.jar;../service/acc/lib/commons-l ogging.jar;../service/acc/lib/commons-discovery.jar;../service/acc/li b/wsdl4j.jar;../service/acc/lib/jaxrpc.jar;../service/acc/lib/saaj.ja r org.apache.axis.client.AdminClient deploy.wsdd -lhttp://localhost/acc/services/ 注意:此處對(duì)應(yīng)的http://localhost/acc/services/需要為實(shí)際系統(tǒng)的可用地址,否則 會(huì)找不到服務(wù) 部署成功后命令窗口顯示: E:\acc\classes>java -classpath .;../service/acc/lib/axis.jar;../service/acc/lib/commons-lo gging.jar;../service/acc/lib/commons-discovery.jar;../service/acc/lib/wsdl4j.jar;../servic e/acc/lib/jaxrpc.jar;../service/acc/lib/saaj.jar org.apache.axis.client.AdminClient deploy .wsdd -l"http://localhost:8088/acc/services/" 2007-8-2 15:50:01 org.apache.axis.utils.JavaUtils isAttachmentSupported 警告: Unable to find required classes (javax.activation.DataHandler and javax.mail.interne t.MimeMultipart). Attachment support is disabled. Processing file deploy.wsdd <Admin>Done processing</Admin> 將deploy成功的deploy.wsdd更新原有的deploy.wsdd. 5、 查看服務(wù) 在IE瀏覽器中輸入服務(wù)地址(http://IP:PORT/acc/services) ,顯示如下 And now... Some Services ? ? ? AdminService (wsdl) o AdminService Version (wsdl) o getVersion BSSPAccMDSPService (wsdl) o queryUserBillDetail o querySPBill |
|