惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

博客园 - 永不放弃-Jack wu

在IIS7下,利用Intelligencia.UrlRewriter进行URLReWrite Sql Service 常用函数 select时锁定记录问题 实现一个用户取过的数据不被其他用户取到 确保绝对随机数(无重复) C# 循环产生多个随机数重复问题 中国移动MM7 API用户手册(八) 中国移动MM7 API用户手册(七) 中国移动MM7 API用户手册(五) 中国移动MM7 API用户手册(四) 中国移动MM7 API用户手册(三) 中国移动MM7 API用户手册(二) 中国移动MM7 API用户手册(一) ASP.NET中进行消息处理(MSMQ) 三 ASP.NET中进行消息处理(MSMQ) 二 ASP.NET中进行消息处理(MSMQ) 一 五险一金相关知识(转) 彩信SMIL文件学习 Log4Net使用指南
中国移动MM7 API用户手册(六)
永不放弃-Jack wu · 2011-04-22 · via 博客园 - 永不放弃-Jack wu

4.3 VASP接收传送消息以及发送提交消息实例

举一个实例说明VASP构建MM7SubmitReq,发送给MMSC,并得到返回消息,通过StatusCode判断,本次发送是否成功,若成功,得到MessageID,以便以后希望取消或替换该消息时用。

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

receiver.setConfig(mm7Config);  //必备

//创建MM7消息发送接口

MM7Sender mm7Sender = new MM7Sender(mm7Config);

//启动接收器

receiver.start();

//接收MM7DeliverReq完毕,开始构造MM7SubmitReq

//有两种可能,一种是MM7SubmitReq完全由SP构造,另一种是SP用接收到的

//MM7DeliverReq的部分内容进行填充。

MM7SubmitReq submitReq = new MM7SubmitReq();

submitReq.setVASPID("SP代码") ;  //必备

submitReq.setVASID("服务代码") ; //必备

submitReq.setServiceCode("业务代码");  //必备

submitReq.setSenderAddress("MM始发方的地址"); /*必备,若想从MM7DeliverReq中获得,

则应按下面的方式设:        submitReq.setSenderAddress(deliverReq.getSender());*/

submitReq.setTo("接收方地址");  /*若想从MM7DeliverReq中获得,则应按下面的方式设:

        submitReq.setTo(deliverReq.getTo());*/

         submitReq.addTo("单个接受方地址");  //增加单个接受方地址

submitReq.setCc("抄送方地址");  /*若想从MM7DeliverReq中获得则应按下面的方式设

                     submitReq.setCc(deliverReq.getCc()) ;*/

         submitReq.addCc("单个抄送方地址");  //增加单个抄送方地址

submitReq.setBcc("密送方地址");  /*若想从MM7DeliverReq中获得则应按下面的方式设

submitReq.setBcc(deliverReq.getBcc()) ;*/

submitReq.addBcc("单个密送方地址");  //增加单个密送方地址

submitReq.setLinkedID("链接标识");  /*可选,若想从MM7DeliverReq中获得,则应按

下面的方式设:submitReq.setLinkedID(deliverReq.getLinkedID()) ;*/

submitReq.setMessageClass("MM的类别");  /*可选*/

submitReq.setTimeStamp("提交MM的日期和时间");  /*格式如2004-02-09T102107

可选*/

submitReq.setExpiryDate("指定超时时间");  /*可选*/

submitReq.setEarliestDeliveryTime("最早理想时间");  /*可选*/

submitReq.setDeliveryReport("发送报告的请求"); /* boolean,可选*/

submitReq.setReadReply("需要读取报告的请求");  /*可选*/

submitReq.setReplyCharging("应答计费的请求");  /*boolean可选*/

submitReq.setReplyDeadline("提交应答的最迟时间"); /*可选*/

submitReq.setReplyChargingSize("应答MM的最大大小");  /*可选*/

submitReq.setPriority("消息的优先级");  /* 0=最低优先级1=正常2=紧急byte类型的值可选若想从MM7DeliverReq中获得则应按下面的方式设

submitReq.setPriority(deliverReq.getPriority());*/

submitReq.setSubject("多媒体消息的标题");  /*可选若想从MM7DeliverReq中获得

应按下面的方式设SubmitReq.setSubject(deliverReq.getSubject());*/

submitReq.setAllowAdaptations("VASP是否允许修改内容"); // boolean默认为真可选

submitReq.setChargedParty("VASP所提交MM的付费方");  /*可选*/

submitReq.setChargedPartyID("chargedPartyID"); /*必备*/

submitReq.setDistributionIndicator("是否可重新分发"); /*booleantrue为可以false为不

可以可选*/

//开始创建多媒体消息的内容

/*每个消息内容体就是一个MMContent实例,可以添加多个消息内容体,但是所有消息内容体大小之和不能超过MMSC允许大小(目前最大支持128K)。*/

MMContent content = new MMContent();

content.setContentType(MMConstants.ContentType.MULTIPART_RELATED);

/**添加类型为Gif的附件一 */

MMContent sub1 = MMContent.createFromFile("f:\\yellow.gif");

sub1.setContentID("1.gif");   //可以不设

sub1.setContentType(MMConstants.ContentType.GIF); /*可以不设,但这个不设的话,

ContentID必须设*/

content.addSubContent(sub1);

/**添加类型为Txt的附件二*/

MMContent sub2 = MMContent.createFromString("This is a Test2!");

sub2.setContentID("2.txt");

sub2.setContentType(MMConstants.ContentType. TEXT);

content.addSubContent(sub2);

/**将附件进行设置*/

submitReq.setContent("多媒体消息的内容");  /*可选,也可以从MM7DeliverReq中获得多

媒体消息的内容,submitReq.setContent(deliverReq.getContent());*/

/*发送MM7SubmitReq消息,正确返回MM7SubmitRes消息,错误返回MM7RSError消息,

其它消息与此类似*/

         MM7RSRes res = mm7Sender.send(submitReq); 

         /*可以根据StatusCode来判断本次发送是否成功,若成功能得到MessageID等信息。

StatusCode可能得到的值,具体可见本文中的请求状态码说明。*/

         if(res.getStatusCode() == MMConStants.RequestStatus.SUCCESS)

{

    MM7SubmitRes submitRes = (MM7SubmitRes)res;

    System.out.println(“StatusText=”+ submitRes.getStatusText());

    System.out.println(“MessageID=”+ submitRes .getMessageID());

      }

    }

    public MM7VASPRes doDeliver(MM7DeliverReq request)

       {

        /*接收从MMSC发过来的传送消息,以便取出其中的部分值构造提交消息或得到一些有用

信息,如MMSC的标识符等*/

        deliverReq = request;

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

+“提交的消息,标题为:”+request.getSubject());

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

        //SP需要进行一些处理,例如构建MM7DeliverRes消息,设置ServiceCodeStatusCode

MM7DeliverRes mm7DeliverRes = new MM7DeliverRes();

mm7DeliverRes.setServiceCode("服务代码"); //可选

mm7DeliverRes.setStatusCode(MMConstants.RequestStatus.SUCCESS); /*必备以便表明

SP已经接收到传送消息。成功可设1000*/

        mm7DeliverRes.setStatusText("所用状态文本说明");  /*可选*/

        //返回给MM7 API以便APIMM7DeliverRes返回给MMSC

return(MM7VASPRes)mm7DeliverRes;

    }

}