4.4 VASP接收状态报告(上行业务) 当VASP在发送MM7SubmitReq给MMSC时设置需要发送状态报告的请求为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在发送MM7SubmitReq给MMSC时设置需要读后回复报告的请求为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; } }

评论