中国移动MM7 API用户手册(七)

4.4  VASP接收状态报告(上行业务)

VASP在发送MM7SubmitReqMMSC时设置需要发送状态报告的请求为true时,MMSC在收到MM7SubmitReq后,会发送状态报告给VASP,此时VASP可以进行接收。接收方式和接收传送消息一样,也有两种方式:

4.4.1方式1:普通应用程序中的用法

public class MyReceiver extends MM7Receiver

{

public MM7DeliveryReportReq deliveryReportReq;

    //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();

receiver.setConfig(mm7Config);  //必备

//启动接收器

receiver.start();

       }

       public MM7VASPRes doDeliveryReport(MM7DeliveryReportReq request)

       {

/*接收从MMSC发过来的状态报告,以便得到一些有用信息,如MMSC的标识符等*/

        deliveryReportReq = request;

        System.out.println(“收到发送方”+request.getSender()

+“提交的消息,其MessageID为:”+request.getMessageID());

        System.out.println("MMSC的标识符为:"+request. getMMSRelayServerID()) ;

        //SP需要进行一些处理例如构建MM7DeliveryReportRes消息,返回给MM7 API

MM7DeliveryReportRes mm7DeliveryReportRes = new MM7DeliveryReportRes ();

mm7DeliveryReportRes.setStatusCode(MMConstants.RequestStatus.SUCCESS) ;/*设置请

            求完成状态必备以便表明SP已经接收到状态报告。一般设1000。*/

        mm7DeliveryReportRes.setStatusText("所用状态文本说明");  /*设置所用状态的文本说

明,应限定请求状态,可选*/

        //返回给MM7 API,以便API将MM7DeliveryReportRes返回给MMSC。

return(MM7VASPRes) mm7DeliveryReportRes;

    }

}

4.4.2方式2:Web应用程序中的用法

 

public class MyReceiver extends MM7RecieveServlet

{

public MM7VASPRes doDelivery(MM7DeliveryReportReq request)

       {

        /*接收从MMSC发过来的状态报告,以便得到一些有用信息,如MMSC的标识符等*/

        deliveryReportReq = request;

        System.out.println(“收到发送方”+request.getSender()

+“提交的消息,其MessageID为:”+request.getMessageID());

        System.out.println("MMSC的标识符为:"+request. getMMSRelayServerID()) ;

        //SP需要进行一些处理,例如构建MM7DeliverReportRes消息,返回给MM7 API

MM7DeliveryReportRes mm7DeliveryReportRes = new MM7DeliveryReportRes ();

mm7DeliveryreportRes.setStatusCode(MMConstants.RequestStatus.SUCCESS) ;/*设置请求

完成状态必备以便表明SP已经接收到状态报告。一般设1000。*/

        mm7DeliveryReportRes.setStatusText("所用状态文本说明");  /*设置所用状态的文本说

明,应限定请求状态,可选*/

        //返回给MM7 API,以便API将MM7DeliveryReportRes返回给MMSC。

return(MM7VASPRes) mm7DeliveryReportRes;

    }

}

4.5 VASP接收读后回复报告(上行业务)

VASP在发送MM7SubmitReqMMSC时设置需要读后回复报告的请求为true时,MMSC在收到MM7SubmitReq后,会发送读后回复报告给VASP,此时VASP可以进行接收。接收方式和接收传送消息以及状态报告一样,也有两种方式:

4.5.1方式1:普通应用程序中的用法

public class MyReceiver extends MM7Receiver

{

public MM7ReadReplyReq readReplyReq;

    //Main方法

       public static void main(String[]args)

       {

      //初始化VASP

MM7Config mm7Config = new MM7Config(“./conf/vasp.xml”);

//设置ConnConfig.xml文件的路径

mm7Config.setConnConfigName(“./config/ConnConfig.xml”);  //必备

//构造MyReceiver

MyReciever receiver = new MyReceiver();

receiver.setConfig(mm7Config);  //必备

//启动接收器

receiver.start();

       }

       public MM7VASPRes doReadReply(MM7ReadReplyReq request)

       {

        /*接收从MMSC发过来的读后回复报告,以便得到一些有用信息,如MMSC的标识符等*/

        readReplyReq = request;

        System.out.println(“收到手机”+request.getSender()

+“的已读消息,其MessageID为:”+request.getMessageID());

        System.out.println("MMSC的标识符为:"+request. getMMSRelayServerID()) ;

        //SP需要进行一些处理例如构建MM7ReadReplyRes消息,返回给MM7 API

MM7ReadReplyRes  readReplyRes = new MM7ReadReplyRes ();

readReplyRes.setStatusCode(MMConstants.RequestStatus.SUCCESS) ;/*设置请求完成状

必备以便表明SP已经接收到读后回复报告。成功设1000。*/

        readReplyRes.setStatusText("所用状态文本说明");  /*设置所用状态的文本说明,应限

定请求状态,可选*/

        //返回给MM7 API,以便API将MM7ReadReplyRes返回给MMSC。

return(MM7VASPRes) readReplyRes;

    }

}

4.5.2方式2:Web应用程序中的用法

public class MyReceiver extends MM7RecieveServlet

{

    public MM7VASPRes doReadReply (MM7ReadReplyReq request)

       {

        /*接收从MMSC发过来的读后回复报告,以便得到一些有用信息,如MMSC的标识符等*/

        readReplyReq = request;

        System.out.println(“收到手机”+request.getSender()

+“的已读消息,其MessageID为:”+request.getMessageID());

        System.out.println("MMSC的标识符为:"+request. getMMSRelayServerID()) ;

        //SP需要进行一些处理例如构建MM7ReadReplyRes消息,返回给MM7 API

MM7ReadReplyRes  readReplyRes = new MM7ReadReplyRes ();

readReplyRes.setStatusCode(MMConstants.RequestStatus.SUCCESS) ;/*设置请求完成状

必备以便表明SP已经接收到读后回复报告。成功设1000。*/

        readReplyRes.setStatusText("所用状态文本说明");  /*设置所用状态的文本说明,应限

定请求状态,可选*/

        //返回给MM7 API,以便API将MM7ReadReplyRes返回给MMSC。

return(MM7VASPRes) readReplyRes;

    }

}

转载于:https://www.cnblogs.com/gooddasenlin/archive/2011/04/22/2025206.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/361940.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何仅通过CSS实现多行文本超长自动省略号

在CSS中,我们可以通过下面的样式实现DIV元素中文本超长后自动截断并以省略号结尾: overflow: hidden;word-break: normal;text-overflow: ellipsis; text-overflow: ellipsis是实现文本截断后以省略号结尾的关键样式,但问题是如果添加该样式则…

带有Angular JS的Java EE 7 – CRUD,REST,验证–第2部分

这是Angular JS承诺的Java EE 7的后续版本–第1部分 。 花了比我预期更长的时间(找到时间来准备代码和博客文章),但是终于到了! 应用程序 第1部分中的原始应用程序只是带有分页的简单列表,以及提供列表数据的REST服务…

Chrome不显示OPTIONS请求的解决方法2021版chrome90

在chrome90上之前展示跨域请求预检请求的方法失效了: 在chrome地址栏总输入 chrome://flags/#out-of-blink-cors 将其设置为Disabled后重启浏览器 在chrome://flags找不到选项out-of-blink-cors。取而代之的是chrome将预检请求放到了控制台网络面板的 OTHER 面板中。…

安装CentOs 5.5后无法显中文(中文乱码)

症状:在使用CentOS 系统时,安装的时候可能你会遇到英文的CentOS系统,在这中情况下安装CentOS系统时是默认安装(即英文)。安装完毕后,上网出现的却是中文乱码。 解决方法: 到CentOs资源网站上去找…

粗读《构建之法》后的思考和收获

利用出差的空挡,快速阅读了一下邹欣老师的《构建之法》一书。对我校软件工程的教学改革确实有很多值得参考的地方,强调实践环节和社会实际工作流程的结合,而不是为了实验而实验。 在阅读过程也有一些问题。 问题1:MSF中强调人员的…

SVG实现波浪效果

SVG实现波浪效果 svg path:C 贝塞尔曲线绘制波浪形状 A 绘制圆弧形 svg animate:制作波浪动画,为了波浪动画效果自然,设置values关键点       attributeName:变化属性名 dur:动画时间 repeatCount&a…

允许同站跨域Nginx配置方案

基于目前前后端分离的趋势和微前端解决方案,并且很多web服务部署在Nginx服务器上,那么因为前后端分离导致的跨域问题需要迫切得到解决。因为是否允许跨域的因素有协议、域名、端口,只要有一个不一致就算跨域。大部分需求要求一个一级域名下所…

使用WildFly 8在Java EE7中自举Apache Camel

从Camel版本2.10开始,支持CDI(JSR-299)和DI(JSR-330)。 这为在Java EE容器中以及独立Java SE或CDI容器中开发和部署Apache Camel项目提供了新的机会。 是时候尝试一下并熟悉它了。 骆驼到底是什么? 骆驼是…

Larbin源代码分析[6]LARBIN中线程处理类

一 线程类 larbin下的线程操作类,主要在mypthread.h中定义,实质上是利用宏定义,封装了pthread.h中的系统调用。 一个进程可以有多个线程,每个线程都有自己的处理流程。 二 具体实现 typedef void* (*StartFun) (void *); void sta…

好东西要分享

目录 矢量图标库$\text{pic}$图论神器$\text{bzoj}$离线题库打字速度表情包PPP矢量图标库 个人jio的这个阿里巴巴矢量图标库蛮不错的 上面这张就是去上面的网站找的。 $\text{pic}$ 来wallpaper abyss找点好康的图片吧。 图论神器 画图 $\text{bzoj}$离线题库 $\text{bzoj}$离线…

Vue2.0 全家桶开发的网页应用(参照吾记APP)

github链接 借鉴吾记APP,使用 vue2.0 vue-router vuex 为主要技术栈,elementui做为ui框架,多模块 spa 模式,webpack2.0 负责模块打包,gulp 负责处理静态资源打包、压缩,欢迎打赏star!&#xff…

【antd】输入控件的思想

antd对于form中输入控件的抽象十分简单,只要能接收value和onChange属性的组件都可以成为Form.Item的子组件,为Form对应的字段提供值。对于输入控件的抽象我认为这已经达到了极致,事件(onChange)产生值(valu…

Java EE 7批处理和魔兽世界–第1部分

这是我在上一个JavaOne上的会议之一。 这篇文章将扩展主题并使用Batch JSR-352 API进入一个实际的应用程序。 此应用程序与MMORPG 魔兽世界集成。 由于JSR-352是Java EE世界中的新规范,所以我认为许多人不知道如何正确使用它。 确定本规范适用的用例也可能是一个挑…

div+css 你知道多少?值得一看

DIVCSS是网站标准(或称“WEB标准”)中常用术语之一,divcss 是一种网页的布局方法,这一种网页布局方法有别于传统的HTML网页设计语言中的表格(table)定位方式,可实现网页页面内容与表现相分离。X…

学习笔记-AngularJs(十)

前面一直在说自定义指令,但是却一直没有一次系统地去了解,现在需要我们一起来学习如何去使用自定义指令,去丰富html标签、属性,实现多元化、多功能的标签(或是属性)。辣么,啥是指令?…

WildFly 9 –别希望您的控制台像这样!

每个人都可能听到这个消息。 周一发布了第一个WildFly 9.0.0.Alpha1版本。 您可以从wildfly.org网站上下载它,最大的变化是它是由一个新的功能配置工具构建的,该工具位于现在单独的核心发行版中,并且还包含一个新的Servlet发行版 &#xff08…

磁盘性能 -- IOPS 和 吞吐量 说明

一. Wikepedia上有关IOPS 的说明链接如下:http://en.wikipedia.org/wiki/IOPSIOPS (Input/Output OperationsPer Second, pronounced i-ops) is a common performance measurement used to benchmark computer storage devices like harddisk drives (HDD), solid s…

webpack联邦模块之webpack运行时

webpack是如何打包ES模块的?webpack是如何构建自身的模块运行时的? __webpack_require__ 这是整个webpack运行时的核心。 该函数被用于根据模块Id从变量__webpack_module_cache__获取模块对应导出: 有,直接返回没有&#xff0…

学习笔记-AngularJs(四)

之前学习的事视图与模版,我们在控制器文件中直接定义一个数组,让其在模版文件中用ng-repeat指令构造一个迭代器,定义的数组http://t.cn/RUbL4rP如同以下: $scope.phones [{name:xioabin,number:18824863682,age:12},{name:xioalo…

3使用Jsoup解析Java中HTML文件的示例

HTML是Web的核心,无论您是通过JavaScript,JSP,PHP,ASP还是任何其他Web技术动态生成的,您在Internet上看到的所有页面都是基于HTML的。 您的浏览器实际上是解析HTML并为您呈现。 但是,如果需要解析HTML文档并…