中国移动MM7 API用户手册(七)
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;
}
}