`
fxyc
  • 浏览: 119779 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MM7发送彩信

    博客分类:
  • JAVA
XML 
阅读更多

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

import com.cmcc.mm7.vasp.message.*;
import com.cmcc.mm7.vasp.service.MM7Sender;


import com.cmcc.mm7.vasp.common.*;

import java.io.*;
import java.text.*;
import com.cmcc.mm7.vasp.conf.*;

public class MM7Api
{
	public static void main(String[] args)
	{

		final MM7Config mm7Config = new MM7Config("./config/mm7Config.xml");
		mm7Config.setConnConfigName("./config/ConnConfig.xml");

		try
		{
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
			MM7SubmitReq submit = new MM7SubmitReq();
			submit.setTransactionID("13934557531");
			submit.addTo(""); //发送到的号码		
			submit.setVASID("");//设置SP代码
			submit.setVASPID(""); //设置服务代码
			submit.setServiceCode("0008");//设置业务代码
			submit.setSenderAddress("10086"); //设置MM始发方的地址
			submit.setSubject("经营分析日报");
			submit.setChargedPartyID("13453417863");
			
			submit.setChargedParty((byte)4);
			submit.setDeliveryReport(true);
			
			MMContent   presentation   =   MMContent.createFromFile("./test.smil");
	        presentation.setContentType( "application/smil "); 
	        presentation.setContentID( "test.smil "); 
	        MMContent   maincontent   =   new   MMContent(); 
	        maincontent.setContentID( "main "); 
	        maincontent.setContentType(MMConstants.ContentType.MULTIPART_RELATED); 
	        maincontent.addSubContent(presentation); 
	        
/*			MMContent content = new MMContent();
			content.setContentType(MMConstants.ContentType.MULTIPART_RELATED);
			content.setContentID("main");
			
			MMContent sub1 = MMContent.createFromFile("./test.smil");
			sub1.setContentID("test.smil");
			sub1.setContentType(MMConstants.ContentType.SMIL);
			sub1.setContentLocation("test.smil");
			content.addSubContent(sub1);
			*/
			MMContent sub2 = MMContent.createFromFile("./smil.txt");
			sub2.setContentID("smil.txt");
			sub2.setContentType(MMConstants.ContentType.TEXT);
			maincontent.addSubContent(sub2);
			
			MMContent sub3 = MMContent.createFromFile("./a.GIF");
			sub3.setContentID("a.GIF");
			sub3.setContentType(MMConstants.ContentType.GIF);
			maincontent.addSubContent(sub3);
			
			MMContent sub4 = MMContent.createFromFile("./2.txt");
			sub4.setContentID("2.txt");
			sub4.setContentType(MMConstants.ContentType.TEXT);
			maincontent.addSubContent(sub4);
			
			submit.setContent(maincontent);
			MM7Sender mm7Sender = new MM7Sender(mm7Config);
			MM7RSRes rsRes;			
			rsRes = (MM7RSRes)mm7Sender.send(submit);
			
			if(rsRes instanceof MM7SubmitRes)
			{
			MM7SubmitRes submitRes = (MM7SubmitRes)rsRes;
			
			System.out.println(rsRes.getTransactionID());
			System.out.println("after!!submitRes.statuscode=" + rsRes.getStatusCode() + ";submitRes.statusText=" + rsRes.getStatusText());
			}else{
			  System.out.println("do!rsRes.statuscode="+rsRes.getStatusCode() + ";rsRes.statusText=" + rsRes.getStatusText());
			}
		}
		catch (Exception e)
		{
			System.out.println(e);
		}
	}
}

 smil文件格式如下:

<smil>
  <head>
    <layout>
      <root-layout width="320" height="240"/>
      <region id="Image" width="220" height="260" left="76" top="34"/>
      <region id="Text" width="168" height="20" left="76" top="220"/>
    </layout>
  </head>

  <body>
    <par dur="20s">
      <img src="23.jpeg" region="Image" />
      <text src="smil.txt" region="Text" />
    </par>
     <par dur="20s">  
 		<img src="23.jpg" region="Image" begin="0s" end="20s" ></img>  
 		<text src="2.txt" region="Text" begin="0s" end="20s" ></text>  
 	</par>
    
  </body>
</smil>

 需要特别主要的是

1.

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

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

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

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

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

分享到:
评论
8 楼 kaka20099528 2017-01-04  
你好,求源码
7 楼 cl1154781231 2014-01-23  
请问setTransactionID是配置什么???
6 楼 yaozhaomin 2013-05-23  
submitReq.setVASPID("SP代码") ;  //设置SP代码

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

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

这些要去哪里申请呀?我一直找不到

smil中出现的文件都得自己加到MMContent中上传到服务器。什么意思呀?我是把自己的电脑当成服务器,还要传到哪里吗?
5 楼 astring 2012-07-16  
我的想要在主题后面跟上文字然后跟图片,可发到手机上就是先来图片,才跟文字,这个有什么的设置吗?
4 楼 kimono 2012-07-03  
不是LZ遇到过收到的彩信文字是乱码,是如何解决的,已经折腾了好久了,急啊,,我没有设置 mms.setCharset()  使用的是默认UTF-8编码 还是乱码,
3 楼 kongzhizhen 2011-03-09  
submit.addTo(""); //发送到的号码        
submit.setVASID("");//设置SP代码  
submit.setVASPID(""); //设置服务代码  
submit.setServiceCode("0008");//设置业务代码  


能把这几个share一下不咯。?
2 楼 fxyc 2010-04-14  
runningsnail 写道
我的也出现了哈,试试看先。

submitReq.setVASPID("SP代码") ;  //设置SP代码
submitReq.setVASID("服务代码") ; //设置服务代码
submitReq.setServiceCode("业务代码");  //设置业务代码
这三项设置要正确。
1 楼 runningsnail 2010-04-14  
我的也出现了哈,试试看先。

相关推荐

Global site tag (gtag.js) - Google Analytics