正文

中国移动MM7 API用户手册(四)2006-06-20 09:18:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/ggbm/16053.html

分享到:

2.7递送报告 报告是接收方(终端)对接收到消息的处理方式信息。递送报告指MMSC在获取这个报告后把这个信息发送给发送方(SP)。接收方对消息的处理可能是接收或者拒绝等。处理流程如下: l         SP发送消息(通过MMSC)给终端,并且要求递送报告; l         终端接收到消息后做相应处理(接收或拒绝); l         MMSC把终端对消息的处理信息(递送报告)发送给SP。 3.安装方法     这里主要介绍一下如何将MM7 API运用到VASP自己开发的程序中以及在配置文件中需要注意修改的地方。 3.1 MM7 API的使用 在VASP用Java开发自己程序时,只要将中国移动集团公司提供的mm7api.jar和lib下的所有的Jar文件加入到classpath中即可。 3.2配置文件的设置     配置文件mm7Config.xml需要根据SP情况进行修改。   <?xml version="1.0"?> <vasp:MM7Config xmlns:vasp="http://mms.chinamobile.com/mm7ConfigSchema">        <AuthenticationMode>1</AuthenticationMode>        <UserName>zxme</UserName>        <Password>zxme</Password>        <MaxMessageSize>100000000</MaxMessageSize>        <LogPath>c:\vas_log</LogPath>        <logLevel>1</logLevel>        <LogNum>100</LogNum>        <LogInterval>120</LogInterval>        <LogSize>200</LogSize>        <Charset>UTF-8</Charset>        <MmscID>1</MmscID>        <mmscURL> /mm7</mmscURL>        <mmscIP>192.120.231.180</mmscIP>           <UseSSL>true</UseSSL>        <ListenIP>192.120.231.228</ListenIP>        <ListenPort>80</ListenPort>        <BackLog>50</BackLog>        <TimeOut>10000</TimeOut>        <ReSendCount>5</ReSendCount>    </vasp:MM7Config>   一些地方需要进行修改,下面一一说明: <AuthenticationMode>1</AuthenticationMode> 表示VASP作为服务端接收消息时是否进行鉴权或进行什么样的鉴权,0表示不鉴权,1表示进行基本鉴权,2表示进行摘要鉴权。 <UserName>zxme</UserName> <Password>zxme</Password> 表示彩信中心对VASP进行鉴权时的用户名和密码,同时也是VASP对接入的彩信中心进行鉴权时用户名和密码,是双向的,要VASP和MMSC双方进行约定。 <LogPath>c:\vas_log</LogPath> 表示日志存放的路径,在Windows操作系统下和Linux下是不一样的,要注意进行修改。 <MmscID>1</MmscID> 表示MMSC网关的序号,需要从MMSC处得到。 <mmscURL> /mm7</mmscURL> <mmscIP>192.120.231.180</mmscIP>   分别表示MMSC网关的URL地址和IP(或主机名),也需要MMSC处得到。这里也可以填成ip:port。例如:192.120.231.180:8080,不填端口号使用默认端口号80。 <ListenIP>192.120.231.228</ListenIP> <ListenPort>80</ListenPort> 表示当VASP用应用程序方式进行接收消息时的监听地址和端口号。 以上为这个配置文件中主要需要注意修改的地方,当然其他的内容也可以进行修改,如<logLevel>1</logLevel>可以根据需要进行修改,0表示不产生日志;1表示产生错误日志;3表示产生信息日志;6表示产生完整信息日志。   <TimeOut>10000</TimeOut> 表示设置发送的超时时间,到发送超过这个时间,则自动进行重新发送。 <ReSendCount>5</ReSendCount> 表示设置重发的次数,建议在10次以下,一般用3-5次即可。 4.开发方法 这里主要介绍从SP接收MMSC发过来的DeliverReq开始,到SP发送SubmitReq到MMSC的整个流程,SP所需要做的工作。 4.1  VASP接收传送请求(上行业务) VASP接收可以有两种方式: l         如果SP的增值应用是一个普通应用程序,可以使用方式1,即接收代理会自动打开一个监听端口,启动一个监听线程来接收来自MMSC的多媒体消息; l         如果SP的增值应用是一个Web应用,则可以使用方式2,即接收代理作为一个Servlet运行,并自动处理从HttpRequest中搜索数据,并解码成多媒体消息。   4.1.1 方式1:普通应用程序中的用法   public class MyReceiver extends MM7Receiver {     //定义一个MM7DeliverReq,以便得到MMSC发过来的Deliver消息。(必备)     public static MM7DeliverReq deliverReq = new MM7DeliverReq();     //Main方法        public static void main(String[] args)        { //初始化VASP MM7Config mm7Config = new MM7Config(“./config/mm7Config.xml”); //设置ConnConfig.xml文件的路径 mm7Config.setConnConfigName(“./config/ConnConfig.xml”);  //必备 //构造MyReceiver MyReciever receiver = new MyReceiver(); myReceiver.setConfig(mm7Config);   //必备 //创建MM7消息发送接口 MM7Sender mm7Sender = new MM7Sender(mm7Config); //启动接收器 receiver.start();        }        public MM7VASPRes doDeliver(MM7DeliverReq request)        {         /*接收从MMSC发过来的传送消息,以便取出其中的部分值构造提交消息或得到一些有用 信息,如MMSC的标识符等*/         deliverReq = request;         System.out.println(“收到手机”+request.getSender() +“提交的消息,标题为:”+request.getSubject());         System.out.println("MMSC的标识符为:"+request. GetMMSRelayServerID()) ;         //SP需要进行一些处理,例如构建MM7DeliverRes消息,设置ServiceCode或StatusCode MM7DeliverRes mm7DeliverRes = new MM7DeliverRes(); mm7DeliverRes.setServiceCode("服务代码"); //设置ServiceCode,可选 mm7DeliverRes.setStatusCode(MMConstants.RequestStatus.SUCCESS) ;/*设置请求完成状 态,必备,以便表明SP已经接收到传送消息。一般设1000。*/         mm7DeliverRes.setStatusText("所用状态文本说明");  /*设置所用状态的文本说明, 应限定请求状态,可选*/         //返回给MM7 API,以便API将MM7DeliverRes返回给MMSC。 return(MM7VASPRes)mm7DeliverRes;     } }

阅读(4396) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册