SP業(yè)務開發(fā)實例_第1頁
SP業(yè)務開發(fā)實例_第2頁
SP業(yè)務開發(fā)實例_第3頁
SP業(yè)務開發(fā)實例_第4頁
SP業(yè)務開發(fā)實例_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、n更多企業(yè)學院: 中小企業(yè)管理全能版183套講座+89700份資料總經理、高層管理49套講座+16388份資料中層管理學院46套講座+6020份資料國學智慧、易經46套講座人力資源學院56套講座+27123份資料各階段員工培訓學院77套講座+ 324份資料員工管理企業(yè)學院67套講座+ 8720份資料工廠生產管理學院52套講座+ 13920份資料財務管理學院53套講座+ 17945份資料銷售經理學院56套講座+ 14350份資料銷售人員培訓學院72套講座+ 4879份資料n更多企業(yè)學院: 中小企業(yè)管理全能版183套講座+89700份資料總經理、高層管理49套講座+16388份資料中層管理學院46

2、套講座+6020份資料國學智慧、易經46套講座人力資源學院56套講座+27123份資料各階段員工培訓學院77套講座+ 324份資料員工管理企業(yè)學院67套講座+ 8720份資料工廠生產管理學院52套講座+ 13920份資料財務管理學院53套講座+ 17945份資料銷售經理學院56套講座+ 14350份資料銷售人員培訓學院72套講座+ 4879份資料1、 工具下載1.1 JDKJDK1.5下載頁面: 下載鏈接:雙擊安裝JDK1.5。1.2 Eclipse(開發(fā)環(huán)境)Eclipse下載頁面: 下載鏈接:解壓縮即可(不需安裝)。1.3 Tomcat(Web服務器)Tomcat6.0下載頁面: 下載鏈接

3、:解壓縮即可(不需安裝)。1.4 AXIS2(SOAP引擎)AXIS2下載頁面: 下載鏈接:解壓縮,lib目錄下的jar包是WebService業(yè)務開發(fā)需要的庫文件。下載鏈接:2、 Tomcat + AXIS2 配置1 解壓縮,。2 配置AXIS2環(huán)境變量:右擊“我的電腦” - 屬性 - 高級 - 選擇“環(huán)境變量”將下的bin目錄增加到Path系統(tǒng)環(huán)境變量中(其中D:axis2-1.3bin需要根據(jù)實際情況設置):3 解壓縮后,將復制到webapps 下。4 雙擊bin 啟動Tomcat服務器,啟動過程會自動將axis2.war解壓縮,在webapps 下生成axis2目錄。3、 客戶端業(yè)務開

4、發(fā)實例本節(jié)以向用戶發(fā)送彩信的業(yè)務為例講解客戶端業(yè)務開發(fā)的實例,其他業(yè)務能力的業(yè)務開發(fā)實例請參見各業(yè)務實例代碼文件夾中的_readme.txt。彩信發(fā)送業(yè)務:SP作為客戶端調用ParlayX GW開放的SendMessage接口發(fā)送彩信。3.1 由WSDL文件生成客戶端代碼使用到的WSDL文件包括:,cuc_mm,cuc_mm,cuc_mm在命令行下執(zhí)行:WSDL2Java.bat -uri cuc_mm生成的代碼在src目錄下:src |-cncomchinaunicomcucmultimedia_messagingsendv2_2service 在Eclipse中創(chuàng)建工程, 將WSDL生成的

5、代碼中src文件夾下的cn目錄復制到工程中3.3 在工程中加入AXIS2的lib庫選中工程cuc_mms,右擊 - 選擇Properties - 在工程屬性對話框左邊選擇“Java Build Path”,然后選擇右邊的“Libraries”屬性頁 - 點擊“Add External JARs.”按鈕,選擇lib 目錄下所有的jar文件,加入到工程的Libraries中 - OK3.4 編寫客戶端代碼,開發(fā)彩信發(fā)送業(yè)務3.4.1 設置SOAPHeader新建類HeaderSetter,在HeaderSetter.java中編寫代碼:(完整代碼見“cuc_mms”)public class He

6、aderSetter protected static final String SOAPHEADER_spId = spId; protected static final String SOAPHEADER_spPassword = spPassword; /.(略) public static void setAOMTSoapHeader(ServiceClient serviceClient) /SOAPHeader字段賦值 String spId = 41999; String spPassword = 41999; /.(略) try /獲取AXIOM的對象工廠 OMFactory

7、 fac = OMAbstractFactory.getOMFactory(); SOAPFactory sfac = OMAbstractFactory.getSOAP11Factory(); /創(chuàng)建名字空間NameSpace OMNamespace omNs = fac.createOMNamespace(nameSpace, tns); /創(chuàng)建RequestSOAPHeader SOAPHeaderBlock block_RequestSOAPHeader = sfac.createSOAPHeaderBlock( SOAPHEADER_RequestSOAPHeader, omNs);

8、 /設置spId SOAPHeaderBlock block_spId = sfac.createSOAPHeaderBlock(SOAPHEADER_spId, omNs); block_spId.addChild(sfac.createOMText(spId); /.(略) /將字段spId,spPassword,timeStamp,serviceId,. /作為RequestSOAPHeader的子節(jié)點 block_RequestSOAPHeader.addChild(block_spId); block_RequestSOAPHeader.addChild(block_spPasswo

9、rd); block_RequestSOAPHeader.addChild(block_timeStamp); block_RequestSOAPHeader.addChild(block_serviceId); block_RequestSOAPHeader.addChild(block_SPNumber); block_RequestSOAPHeader.addChild(block_sessionId); block_RequestSOAPHeader.addChild(block_sessionEnd); block_RequestSOAPHeader.addChild(block_l

10、inkId); block_RequestSOAPHeader.addChild(block_OA); block_RequestSOAPHeader.addChild(block_FA); block_RequestSOAPHeader.addChild(block_groupMessaging); serviceClient.addHeader(block_RequestSOAPHeader); catch (Exception e) e.printStackTrace(); /.(略)3.4.2 修改存根類SendMessageServiceStub的sendMessage方法, 設置S

11、OAP附件cncomchinaunicomcucmultimedia_messagingsendv2_2serviceSendMessageServiceStub.java第168行: /【增加org.apache.axiom.attachments.Attachments attachments參數(shù)用于發(fā)送附件】 public .chinaunicom. sendMessage( .chinaunicom. sendMessage0, org.apache.axiom.attachments.Attachments attachments)第203行: /* * 增加以下代碼用于設置SOAP

12、附件 */ /*begin - 設置SOAP附件的代碼*/ if (attachments != null) _operationClient.getOptions().setProperty( org.apache.axis2.Constants.Configuration.ENABLE_SWA, org.apache.axis2.Constants.VALUE_TRUE); _messageContext.setAttachmentMap(attachments); /*end - 設置附件的代碼*/3.4.3 調用SendMessage接口發(fā)送彩信新建類TestSendMms,在Test

13、SendMms.java中編寫代碼:(完整代碼見“cuc_mmsTestSendMms.java”)public class TestSendMms public static void main(String args) try /* * MMS接口規(guī)范中定義的sendMessage接口參數(shù): * * DestinationAddress xsd:anyURI 0.unbounded * SenderAddress xsd:anyURI * Subject xsd:String * Priority MessagePriority * Charging Common:ChargingInfo

14、rmation * ReceiptRequest Common:SimpleReference */ /*begin - sendMessage接口參數(shù)設置*/ SendMessage param = new SendMessage(); /DestinationAddress, 目的地址(群發(fā)的情況下, DestinationAddress為URI數(shù)組) URI addr = new URI1; param.setDestinationAddress(addr); /SenderAddress param.setSenderAddress(14244518); /Subject param.

15、setSubject(MMSTest); /Priority param.setPriority(MessagePriority.Default); /Charging(可選) param.setCharging(null); /ReceiptRequest, 為null表示SP不需要狀態(tài)報告; 非null表示SP需要狀態(tài)報告 SimpleReference simpleRef = new SimpleReference(); simpleRef.setEndpoint(new URI(); simpleRef.setCorrelator(123456); simpleRef.setInter

16、faceName(test);/ param.setReceiptRequest(simpleRef); /ReceiptRequest非null表示SP需要狀態(tài)報告 param.setReceiptRequest(null); /ReceiptRequest為null表示SP不需要狀態(tài)報告 /設置彩信附件, 從磁盤讀取圖片文件 File f = new File(D:1.txt); Attachments attachments = new Attachments(); ds = new (f); DataHandler dh = new DataHandler(ds); attachmen

17、ts.addDataHandler(12345678, dh); /*end - sendMessage接口參數(shù)設置*/ /ParlayX GW的sendMessage開放接口URI String sendMessageURI = wespa_mms/services/SendMessage; /創(chuàng)建客戶端Stub類的對象 SendMessageServiceStub sendMessageStub = new SendMessageServiceStub(sendMessageURI); ServiceClient client = sendMessageStub._getServiceCl

18、ient(); /【設置SOAPHeader】 HeaderSetter.setAOMTSoapHeader(client); /【設置請求消息】 SendMessage7 reqMessage = new SendMessage7(); reqMessage.setSendMessage(param); /【調用sendMessage接口并獲取響應消息, 由AXIS2完成SOAP消息的封裝、發(fā)送請求消息、接收響應消息】 /需要修改SendMessageServiceStub類的sendMessage方法 /需要增加參數(shù)org.apache.axiom.attachments.Attachme

19、nts attachments用于傳遞附件 /并在sendMessage方法中增加以下代碼, 用于設置SOAP附件 : / if (attachments != null) / / _operationClient.getOptions().setProperty( / org.apache.axis2.Constants.Configuration.ENABLE_SWA, / org.apache.axis2.Constants.VALUE_TRUE); / _messageContext.setAttachmentMap(attachments); / SendMessageRespons

20、e6 rspMessage = sendMessageStub.sendMessage(reqMessage, attachments); System.out.println(rspMessage.getSendMessageResponse().getResult(); /.(略) 4、 服務端業(yè)務開發(fā)實例本節(jié)以接收用戶上發(fā)彩信的業(yè)務為例講解服務端業(yè)務開發(fā)的實例,其他業(yè)務能力的服務端業(yè)務開發(fā)實例請參見各業(yè)務實例代碼文件夾中的_readme.txt。接收用戶上發(fā)彩信業(yè)務:SP作為服務端,當用戶上發(fā)彩信時ParlayX GW調用SP開放的NotifyMessageReception接口發(fā)送用戶

21、上發(fā)的彩信。 由WSDL文件生成服務端代碼使用到的WSDL文件包括:,cuc_mm,cuc_mm,cuc_mm在命令行下執(zhí)行:WSDL2Java.bat -uri cuc_mm_notification_service_2_2.wsdl -ss -sd生成的代碼在src目錄下:src |-cncomchinaunicom |-cncomchinaunicomcucmultimedia_ messagingnotificationv2_2service生成的資源文件在resource目錄下:resource發(fā)布接口的資源文件。 在Eclipse中創(chuàng)建工程, 將WSDL生成的代碼中src文件夾下的

22、cn目錄復制到工程中同3.2。4.3 在工程中加入AXIS2的lib庫同3.3。4.4 編寫服務端代碼,接收用戶上發(fā)的彩信修改cncomchinaunicomcucmultimedia_ messagingnotificationv2_2service代碼如下: public .chinaunicom. notifyMessageReception( .chinaunicom. notifyMessageReception) MessageReference msgRef = notifyMessageReception.getNotifyMessageReception().getMessage(); /打印消息 System.out.println(Get notifyMessageReception message :); System.out.println(RegistrationIdentifier = + notifyMessageReception.getNotifyMessageReception().getRegistrationIdentifier(); System.out.println( MessageIdentifier = + msgRef.getMessageIdentifier(); System.out.printl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論