




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 工具下载1.1 JDKJDK1.5下载页面:/javase/downloads/index_jdk5.jspjdk-1_5_0_13-windows-i586-p.exe下载链接:45/ECom/EComTicketServlet/BEGINA3B0EEAA08A312C1FAEC55BAC2297BBB/-2147483648/2402513439/1/852050/851882/2402513439/2ts+/westCoastFSEND/jdk-1.5.0_13-oth-JPR/jdk-1.5.0_13-oth-JPR:3/jdk-1_5_0_13-windows-i586-p.exe双击jdk-1_5_0_13-windows-i586-p.exe安装JDK1.5。1.2 Eclipse(开发环境)Eclipse下载页面:/downloadseclipse-SDK-3.3.1-win32.zip下载链接:/downloads/download.php?file=/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-SDK-3.3.1-win32.zip&url=/eclipse/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-SDK-3.3.1-win32.zip&mirror_id=385解压缩eclipse-SDK-3.3.1-win32.zip即可(不需安装)。1.3 Tomcat(Web服务器)Tomcat6.0下载页面:/download-60.cgiapache-tomcat-6.0.14.zip下载链接:/tomcat/tomcat-6/v6.0.14/bin/apache-tomcat-6.0.14.zip解压缩apache-tomcat-6.0.14.zip即可(不需安装)。1.4 AXIS2(SOAP引擎)AXIS2下载页面:/axis2/download.cgiaxis2-1.3-bin.zip下载链接:/ws/axis2/1_3/axis2-1.3-bin.zip解压缩axis2-1.3-bin.zip,lib目录下的jar包是WebService业务开发需要的库文件。axis2-1.3-war.zip下载链接:/ws/axis2/1_3/axis2-1.3-war.zip2、 Tomcat + AXIS2 配置1 解压缩apache-tomcat-6.0.14.zip,axis2-1.3-bin.zip,axis2-1.3-war.zip。2 配置AXIS2环境变量:右击“我的电脑” - 属性 - 高级 - 选择“环境变量”将axis2-1.3下的bin目录增加到Path系统环境变量中(其中D:axis2-1.3bin需要根据实际情况设置):3 解压缩axis2-1.3-war.zip后,将axis2.war复制到webapps 下。4 双击binstartup.bat 启动Tomcat服务器,启动过程会自动将axis2.war解压缩,在webapps 下生成axis2目录。3、 客户端业务开发实例本节以向用户发送彩信的业务为例讲解客户端业务开发的实例,其他业务能力的业务开发实例请参见各业务实例代码文件夹中的_readme.txt。彩信发送业务:SP作为客户端调用ISAG开放的SendMessage接口发送彩信。3.1 由WSDL文件生成客户端代码使用到的WSDL文件包括:ctcc_common_faults_2_0.wsdl,ctcc_common_types_2_1.xsd,ctcc_mm_send_interface_2_2.wsdl,ctcc_mm_send_service_2_2.wsdl,ctcc_mm_types_2_2.xsd在命令行下执行:WSDL2Java.bat -uri ctcc_mm_send_service_2_2.wsdl生成的代码在src目录下:src |-cncomchinatelecomwwwwsdlctccmultimedia_messagingsendv2_2service3.2 在Eclipse中创建工程, 将WSDL生成的代码中src文件夹下的cn目录复制到工程中3.3 在工程中加入AXIS2的lib库选中工程ctcc_mms,右击 - 选择Properties - 在工程属性对话框左边选择“Java Build Path”,然后选择右边的“Libraries”属性页 - 点击“Add External JARs.”按钮,选择lib 目录下所有的jar文件,加入到工程的Libraries中 - OK3.4 编写客户端代码,开发彩信发送业务3.4.1 设置SOAPHeader新建类HeaderSetter,在HeaderSetter.java中编写代码:(完整代码见“ctcc_mmsHeaderSetter.java”)public class HeaderSetter protected static final String nameSpace = /schema/ctcc/common/v2_1; 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 fac = OMAbstractFactory.getOMFactory(); SOAPFactory sfac = OMAbstractFactory.getSOAP11Factory(); /创建名字空间NameSpace OMNamespace omNs = fac.createOMNamespace(nameSpace, tns); /创建RequestSOAPHeader SOAPHeaderBlock block_RequestSOAPHeader = sfac.createSOAPHeaderBlock( SOAPHEADER_RequestSOAPHeader, omNs); /设置spId SOAPHeaderBlock block_spId = sfac.createSOAPHeaderBlock(SOAPHEADER_spId, omNs); block_spId.addChild(sfac.createOMText(spId); /.(略) /将字段 spId,spPassword,timeStamp,productId. /作为RequestSOAPHeader的子节点 block_RequestSOAPHeader.addChild(block_spId); block_RequestSOAPHeader.addChild(block_spPassword); block_RequestSOAPHeader.addChild(block_timeStamp); block_RequestSOAPHeader.addChild(block_productId); block_RequestSOAPHeader.addChild(block_transid); block_RequestSOAPHeader.addChild(block_transend); block_RequestSOAPHeader.addChild(block_linkId); block_RequestSOAPHeader.addChild(block_OA); block_RequestSOAPHeader.addChild(block_FA); block_RequestSOAPHeader.addChild(block_multiMessaging); catch (Exception e) e.printStackTrace(); /.(略)3.4.2修改存根类SendMessageServiceStub的sendMessage方法, 设置SOAP附件cncomchinatelecomwwwwsdlctccmultimedia_messagingsendv2_2serviceSendMessageServiceStub.java第168行: /【增加org.apache.axiom.attachments.Attachments attachments参数用于发送附件】 public .chinatelecom.www.wsdl.ctcc.multimedia_messaging.send.v2_2.service.SendMessageServiceStub.SendMessageResponse5 sendMessage( .chinatelecom.www.wsdl.ctcc.multimedia_messaging.send.v2_2.service.SendMessageServiceStub.SendMessage7 sendMessage0, org.apache.axiom.attachments.Attachments attachments)第203行: /* * 增加以下代码用于设置SOAP附件 */ /*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接口发送彩信ISAG的SendMessage开放接口URI:http:/:/wespa_mms/services/SendMessage新建类TestSendMms,在TestSendMms.java中编写代码:(完整代码见“ctcc_mmsTestSendMms.java”)public class TestSendMms public static void main(String args) try /* * MMS接口规范中定义的sendMessage接口参数: * * DestinationAddress xsd:anyURI 0.unbounded * SenderAddress xsd:anyURI * Subject xsd:String * Priority MessagePriority * Charging Common:ChargingInformation * ReceiptRequest Common:SimpleReference */ /*begin - sendMessage接口参数设置*/ SendMessage param = new SendMessage(); /DestinationAddress, 目的地址(群发的情况下, DestinationAddress为URI数组) URI addr = new URI1; addr0 = new URI(tel:+8613156111754); param.setAddresses(addr); /SenderAddress param.setSenderAddress(14244518); /Subject param.setSubject(MMSTest); /Priority param.setPriority(MessagePriority.Default); /Charging(可选) param.setCharging(null); /ReceiptRequest, 为null表示SP不需要状态报告; 非null表示SP需要状态报告 SimpleReference simpleRef = new SimpleReference(); simpleRef.setEndpoint(new URI(http:/localhost:8080); simpleRef.setCorrelator(123456); simpleRef.setInterfaceName(test);/param.setReceiptRequest(simpleRef); /设置彩信附件, 从磁盘读取图片文件 File f = new File(D:1.jpg); Attachments attachments = new Attachments(); FileDataSource ds = new FileDataSource(f); ConfigurableDataHandler dh = new ConfigurableDataHandler (ds); attachments.addDataHandler(12345678, dh); /*end - sendMessage接口参数设置*/ /ISAG的sendMessage开放接口URI String sendMessageURI = 7:8080/wespa_mms/services/SendMessage; /创建客户端Stub类的对象 SendMessageServiceStub sendMessageStub = new SendMessageServiceStub(sendMessageURI); ServiceClient client = sendMessageStub._getServiceClient(); /【设置SOAPHeader】 HeaderSetter.setAOMTSoapHeader(client); /【设置请求消息】 SendMessage4 reqMessage = new SendMessage4(); reqMessage.setSendMessage(param); /【调用sendMessage接口并获取响应消息, 由AXIS2完成SOAP消息的封装、发送请求消息、接收响应消息】 /需要修改SendMessageServiceStub类的sendMessage方法 /需要增加参数org.apache.axiom.attachments.Attachments 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); / /见SendMessageServiceStub.java第203行 SendMessageResponse5 rspMessage = sendMessageStub.sendMessage(reqMessage, attachments); System.out.println(rspMessage.getSendMessageResponse().getResult(); .略4、 服务端业务开发实例本节以接收用户上发彩信的业务为例讲解服务端业务开发的实例,其他业务能力的服务端业务开发实例请参见各业务实例代码文件夹中的_readme.txt。接收用户上发彩信业务:SP作为服务端,当用户上发彩信时ISAG调用SP开放的NotifyMessageReception接口发送用户上发的彩信。4.1 由WSDL文件生成服务端代码使用到的WSDL文件包括:ctcc_common_faults_2_0.wsdl,ctcc_common_types_2_1.xsd,ctcc_mms_notification_interface_2_2.wsdl,ctcc_mms_notification_service_2_2.wsdl,ctcc_mms_types_2_2.xsd在命令行下执行:WSDL2Java.bat -uri ctcc_mms_notification_service_2_2.wsdl -ss -sd生成的代码在src目录下:src |-cncomchinatelecomwwwschema |-cncomchinatelecomwwwwsdlctccmultimedia_messagingnotificationv2_2service生成的资源文件在resource目录下:resource |-services.xmlservices.xml是用于发布接口的资源文件。4.2 在Eclipse中创建工程, 将WSDL生成的代码中src文件夹下的cn目录复制到工程中同3.2。4.3 在工程中加入AXIS2的lib库同3.3。4.4 编写服务端代码,接收用户上发的彩信修改cncomchinatelecomwwwwsdlctccmultimedia_messagingnotificationv2_2serviceMessageNotificationServiceSkeleton.java代码如下:ppublic class MessageNotificationServiceSkeleton /* * Auto generated method signature * param notifyMessageReception */ public .chinatelecom.www.schema.ctcc.multimedia_messaging.notification.v2_2.local.NotifyMessageReceptionResponse6 notifyMessageReception( .chinatelecom.www.schema.ctcc.multimedia_messaging.notification.v2_2.local.NotifyMessageReception4 notifyMessageReception) /TODO : fill this with the necessary business logic MessageReference msgRef = notifyMessageReception.getNotifyMessageReception().getMessage(); /打印消息 System.out.println(Get notifyMessageReception message :); System.out.println(RegistrationIdentifier = + notifyMessageReception.getNotifyMessageR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新解读《GB-T 32498-2016金属基复合材料 拉伸试验 室温试验方法》
- 高砂窑炉安全知识培训课件
- 北京交通运输管理考试及答案
- PhIP-Standard-生命科学试剂-MCE
- BAT-1308-生命科学试剂-MCE
- 北华大学线上考试题目及答案
- 保育师考试题中级题库及答案
- 家政中级考试题及答案
- 中级软考试题及答案
- 电炉知识培训总结与反思课件
- 山东科学技术出版社小学一年级上册综合实践活动教案
- 直播电商监管的国际比较与借鉴
- 装饰装修工程施工方案完整版
- 《孩子来了:如何度过最艰难的育儿时刻》记录
- 2023年新疆维吾尔自治区喀什地区莎车县水利局公务员考试《行政职业能力测验》历年真题及详解
- 港区泊位码头工程施工组织设计(图文)
- 《心房颤动诊断和治疗中国指南2023》-抗凝解读
- 提高CSSD手术器械的清洗率医院护理品管圈QCC成果汇报课件(完整版本易修改)
- DZ∕T 0033-2020 固体矿产地质勘查报告编写规范(正式版)
- 健康讲座:颈椎病
- NY-T 3213-2023 植保无人驾驶航空器 质量评价技术规范
评论
0/150
提交评论