MM7

 

中兴MM7接口开发
2010-03-11 14:44
1,发送彩信的时候一直报告说连接超时,返回好像是-104 ,检查了网络 ping IP telnet 端口似乎都好的,后来抓包才发现,发彩信的时候数据一直走80端口,不会走配置上的端口,后来才发现原来要改端口的话是要在这里<mmscIP>10.103.122.180:8080</mmscIP>加上端口号才行的.
2,返回4007 等 一般都是参数加的有问题 比如号码+86,serviceCode VASPID sendAddress等
3,mm7api的文档里面对于smil彩信,就说了一个含smil的彩信,必须把content-type设置成multipart-related,如果按照文档里面的流程,即使你怎么组合,smil都不起作用的,即使你setPresentionContent(smil)了,照样不起作用。原因很简单,mixed方式发送彩信,只需要setContentID()就行,而related方式,必须把每一个subContent都setContentID()和setContentLocation(),这两项的内容最好相同,比如都为他们的文件名。
(如果不填这两个发下去的时候在诺基亚的手机里面就只能看到下发的所有文件列表,而且文件的名字和原来的不一样 ,比如原来为001.jpg 在手机里面就显示file001.jpg,设置了这两个参数之后一切正常);

中兴MM7接口开发
2010-03-11 14:44
1,发送彩信的时候一直报告说连接超时,返回好像是-104 ,检查了网络 ping IP telnet 端口似乎都好的,后来抓包才发现,发彩信的时候数据一直走80端口,不会走配置上的端口,后来才发现原来要改端口的话是要在这里<mmscIP>10.103.122.180:8080</mmscIP>加上端口号才行的.
2,返回4007 等 一般都是参数加的有问题 比如号码+86,serviceCode VASPID sendAddress等
3,mm7api的文档里面对于smil彩信,就说了一个含smil的彩信,必须把content-type设置成multipart-related,如果按照文档里面的流程,即使你怎么组合,smil都不起作用的,即使你setPresentionContent(smil)了,照样不起作用。原因很简单,mixed方式发送彩信,只需要setContentID()就行,而related方式,必须把每一个subContent都setContentID()和setContentLocation(),这两项的内容最好相同,比如都为他们的文件名。
(如果不填这两个发下去的时候在诺基亚的手机里面就只能看到下发的所有文件列表,而且文件的名字和原来的不一样 ,比如原来为001.jpg 在手机里面就显示file001.jpg,设置了这两个参数之后一切正常);


今天终于发出了彩信了,移动的MM7文档写的太不全了,折腾了好几天,总算是发出去了。MM7ApiI文件如下

Java代码   收藏代码
  1. import com.cmcc.mm7.vasp.message.*;  
  2. import com.cmcc.mm7.vasp.service.MM7Sender;  
  3.   
  4.   
  5. import com.cmcc.mm7.vasp.common.*;  
  6.   
  7. import java.io.*;  
  8. import java.text.*;  
  9. import com.cmcc.mm7.vasp.conf.*;  
  10.   
  11. public class MM7Api  
  12. {  
  13.     public static void main(String[] args)  
  14.     {  
  15.   
  16.         final MM7Config mm7Config = new MM7Config("./config/mm7Config.xml");  
  17.         mm7Config.setConnConfigName("./config/ConnConfig.xml");  
  18.   
  19.         try  
  20.         {  
  21.             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");  
  22.             MM7SubmitReq submit = new MM7SubmitReq();  
  23.             submit.setTransactionID("13934557531");  
  24.             submit.addTo(""); //发送到的号码        
  25.             submit.setVASID("");//设置SP代码  
  26.             submit.setVASPID(""); //设置服务代码  
  27.             submit.setServiceCode("0008");//设置业务代码  
  28.             submit.setSenderAddress("10086"); //设置MM始发方的地址  
  29.             submit.setSubject("经营分析日报");  
  30.             submit.setChargedPartyID("13453417863");  
  31.               
  32.             submit.setChargedParty((byte)4);  
  33.             submit.setDeliveryReport(true);  
  34.               
  35.             MMContent   presentation   =   MMContent.createFromFile("./test.smil");  
  36.             presentation.setContentType( "application/smil ");   
  37.             presentation.setContentID( "test.smil ");   
  38.             MMContent   maincontent   =   new   MMContent();   
  39.             maincontent.setContentID( "main ");   
  40.             maincontent.setContentType(MMConstants.ContentType.MULTIPART_RELATED);   
  41.             maincontent.addSubContent(presentation);   
  42.               
  43. /*          MMContent content = new MMContent(); 
  44.             content.setContentType(MMConstants.ContentType.MULTIPART_RELATED); 
  45.             content.setContentID("main"); 
  46.              
  47.             MMContent sub1 = MMContent.createFromFile("./test.smil"); 
  48.             sub1.setContentID("test.smil"); 
  49.             sub1.setContentType(MMConstants.ContentType.SMIL); 
  50.             sub1.setContentLocation("test.smil"); 
  51.             content.addSubContent(sub1); 
  52.             */  
  53.             MMContent sub2 = MMContent.createFromFile("./smil.txt");  
  54.             sub2.setContentID("smil.txt");  
  55.             sub2.setContentType(MMConstants.ContentType.TEXT);  
  56.             maincontent.addSubContent(sub2);  
  57.               
  58.             MMContent sub3 = MMContent.createFromFile("./a.GIF");  
  59.             sub3.setContentID("a.GIF");  
  60.             sub3.setContentType(MMConstants.ContentType.GIF);  
  61.             maincontent.addSubContent(sub3);  
  62.               
  63.             MMContent sub4 = MMContent.createFromFile("./2.txt");  
  64.             sub4.setContentID("2.txt");  
  65.             sub4.setContentType(MMConstants.ContentType.TEXT);  
  66.             maincontent.addSubContent(sub4);  
  67.               
  68.             submit.setContent(maincontent);  
  69.             MM7Sender mm7Sender = new MM7Sender(mm7Config);  
  70.             MM7RSRes rsRes;           
  71.             rsRes = (MM7RSRes)mm7Sender.send(submit);  
  72.               
  73.             if(rsRes instanceof MM7SubmitRes)  
  74.             {  
  75.             MM7SubmitRes submitRes = (MM7SubmitRes)rsRes;  
  76.               
  77.             System.out.println(rsRes.getTransactionID());  
  78.             System.out.println("after!!submitRes.statuscode=" + rsRes.getStatusCode() + ";submitRes.statusText=" + rsRes.getStatusText());  
  79.             }else{  
  80.               System.out.println("do!rsRes.statuscode="+rsRes.getStatusCode() + ";rsRes.statusText=" + rsRes.getStatusText());  
  81.             }  
  82.         }  
  83.         catch (Exception e)  
  84.         {  
  85.             System.out.println(e);  
  86.         }  
  87.     }  
  88. }  

 smil文件格式如下:

Xml代码   收藏代码
  1. <smil>  
  2.   <head>  
  3.     <layout>  
  4.       <root-layout width="320" height="240"/>  
  5.       <region id="Image" width="220" height="260" left="76" top="34"/>  
  6.       <region id="Text" width="168" height="20" left="76" top="220"/>  
  7.     </layout>  
  8.   </head>  
  9.   
  10.   <body>  
  11.     <par dur="20s">  
  12.       <img src="23.jpeg" region="Image" />  
  13.       <text src="smil.txt" region="Text" />  
  14.     </par>  
  15.      <par dur="20s">    
  16.         <img src="23.jpg" region="Image" begin="0s" end="20s" ></img>    
  17.         <text src="2.txt" region="Text" begin="0s" end="20s" ></text>    
  18.     </par>  
  19.       
  20.   </body>  
  21. </smil>  

 需要特别主要的是

1.

submitReq.setVASPID("SP代码") ;  //设置SP代码

submitReq.setVASID("服务代码") ; //设置服务代码

submitReq.setServiceCode("业务代码");  //设置业务代码

如果出现rsRes.statuscode=4007;rsRes.statusText=Authority failed为鉴权失败,一般为上述设置不对。

2.当时我是只把smil文件传上去,以为有了这个文件系统会根据路径来读取所有的文件,其实不然,smil中出现的文件都得自己加到MMContent中上传到服务器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值