Java+Demo对接中国移动 云MAS短信发送(http协议详解,新测成功!)

这篇具有很好参考价值的文章主要介绍了Java+Demo对接中国移动 云MAS短信发送(http协议详解,新测成功!)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.登录官网,下载http接入文档(随着官网不断更新,可参考官网的文档)

官网地址为:云mas业务平台

移动短信对接,java,开发语言

 进入云MAS管理平台,找到 管理-接口管理 的列表页。

(必读:本文对接方式是 java引用jar包,进行sdk协议对接,后台java代码是引用jar包,调用短信服务的http接口,所以你创建的短信接口协议必须是SDK2.0,这样后台才能接口调用成功。)

移动短信对接,java,开发语言

进入这个短信接口的详情页,查看一下配置项。

移动短信对接,java,开发语言

 二.代码示范(亲测成功,先附上成功图片)

 成功示范图

移动短信对接,java,开发语言

添加依赖jar包

Java+Demo对接中国移动 云MAS短信发送-Jar,点击0积分获取!!!

移动短信对接,java,开发语言

创建 MmsSend.java

package demo;

import com.umpay.masmgc.sdk.mms.compat.core.message.ap.ApMmsSubmitReq;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.bsi.api.client.Client;
import com.bsi.api.client.MmsClient;
import com.bsi.api.pojo.MM7;
import com.bsi.api.pojo.MM7Frame;
import com.cmcc.mm7.vasp.message.MM7DeliveryReportReq;

public class MmsSend {

	// 1 组装无模板彩信
	private MM7 createMM7_1( ) throws Exception {
		String subject = "";// 主题
		String signa = "sss"; // 签名
		String[] mobiles = new String[]{ "***" };
		MM7 mm7 = Client.getInstance( ).createMM7( subject, mobiles, signa );
		List<MM7Frame> frames = new ArrayList<MM7Frame>( );
		MM7Frame frame1 = mm7.addFrame( 15 );// 添加一帧
		frame1.addImage( createByteByFileName( "./data/zq/1.jpg" ) );// byte[]类型参数
		frame1.addText( createByteByFileName( "./data/zq/a.txt" ) );
		frames.add( frame1 );// 添加到List<MM7Frame>

		MM7Frame frame2 = mm7.addFrame( 15 );
		frame2.addImage( createByteByFileName( "./data/zq/2.jpg" ) );
		frame2.addText( createByteByFileName( "./data/zq/b.txt" ) );
		frames.add( frame2 );

		MM7Frame frame3 = mm7.addFrame( 15 );
		frame3.addImage( createByteByFileName( "./data/zq/3.jpg" ) );
		frame3.addText( createByteByFileName( "./data/zq/c.txt" ) );
		frames.add( frame3 );
//
//		MM7Frame frame4 = mm7.addFrame( 15 );
//		frame4.addText( createByteByFileName( "./data/temp/4.txt" ) );
//		frames.add( frame4 );
//
//		MM7Frame frame5 = mm7.addFrame( 15 );
//		frame5.addText( createByteByFileName( "./data/temp/5.txt" ) );
//		frames.add( frame5 );
//
//		MM7Frame frame6 = mm7.addFrame( 15 );
//		frame6.addImage( createByteByFileName( "./data/temp/1490952420.jpg" ) );
//		frames.add( frame6 );
//
//		MM7Frame frame7 = mm7.addFrame( 15 );
//		frame7.addAudio( createByteByFileName( "./data/temp/FFX61N8X.mid" ) );
//		frames.add( frame7 );
//
//		MM7Frame frame8 = mm7.addFrame( 15 );
//		frame8.addImage( createByteByFileName( "./data/temp/riben_175.jpg" ) );
//		frame8.addText( createByteByFileName( "./data/temp/riben_175.txt" ) );
//		frames.add( frame8 );
		return mm7;
	}

	// 2组装无模板定时彩信
	private MM7 createMM7_2( ) throws Exception {
		String subject = "test_subject";// 主题
		String signa = "Vj7nlgsne"; // 签名
		String[] mobiles = new String[]{ "15718861521","15718861521" };
		SimpleDateFormat timer1 = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
		Date timer = timer1.parse( "2016-10-26 18:40:00" );
		MM7 mm7 = Client.getInstance( ).createMM7( subject, mobiles, signa, timer );
		List<MM7Frame> frames = new ArrayList<MM7Frame>( );
		MM7Frame frame1 = mm7.addFrame( 15 );// 添加一帧
		frame1.addText( createByteByFileName( "./data/temp/1.txt" ) );// byte[]类型参数
		frames.add( frame1 );// 添加到List<MM7Frame>

		MM7Frame frame2 = mm7.addFrame( 15 );
		frame2.addText( createByteByFileName( "./data/temp/2.txt" ) );
		frames.add( frame2 );

		MM7Frame frame3 = mm7.addFrame( 15 );
		frame3.addText( createByteByFileName( "./data/temp/3.txt" ) );
		frames.add( frame3 );

		MM7Frame frame4 = mm7.addFrame( 15 );
		frame4.addText( createByteByFileName( "./data/temp/4.txt" ) );
		frames.add( frame4 );

		MM7Frame frame5 = mm7.addFrame( 15 );
		frame5.addText( createByteByFileName( "./data/temp/5.txt" ) );
		frames.add( frame5 );

		MM7Frame frame6 = mm7.addFrame( 15 );
		frame6.addText( createByteByFileName( "./data/temp/6.txt" ) );
		frames.add( frame6 );

		MM7Frame frame7 = mm7.addFrame( 15 );
		frame7.addAudio( createByteByFileName( "./data/temp/FFX61N8X.mid" ) );
		frames.add( frame7 );

		MM7Frame frame8 = mm7.addFrame( 15 );
		frame8.addImage( createByteByFileName( "./data/temp/riben_175.jpg" ) );
		frame8.addText( createByteByFileName( "./data/temp/riben_175.txt" ) );
		frames.add( frame8 );
		return mm7;
	}

	private MM7 createMM7_3( ) throws Exception {
		String subject = "test_subject";
		String signa = "Vj7nlgsne";
		String[] mobiles = new String[]{ "15718861521" };
		String tempId = "bac6c06e42f34b70a8483b04591cfcc6";
		MM7 mm7 = Client.getInstance( ).createMM7( subject, mobiles, signa, tempId );
		return mm7;
	}

	private MM7 createMM7_4( ) throws Exception {
		String subject = "test_subject";
		String signa = "Vj7nlgsne";
		String[] mobiles = new String[]{ "15718861521" };
		String tempId = "bac6c06e42f34b70a8483b04591cfcc6";
		SimpleDateFormat timer1 = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
		Date timer = timer1.parse( "2016-10-26 18:40:00" );
		MM7 mm7 = Client.getInstance( ).createMM7( subject, mobiles, signa, timer, tempId );
		return mm7;
	}

	public static void main( String[] args ) {
		MmsSend mmsSend = new MmsSend( );
		Client client = Client.getInstance( );
		boolean success = client.login("http://112.******:***", "sss","sss", "ssss");
		if( !success ) {
			return;
		}
		ApMmsSubmitReq req_1 = null;
		// ApMmsSubmitReq req_2 = null;
		// ApMmsSubmitReq req_3 = null;
		// ApMmsSubmitReq req_4 = null;
		try {
			req_1 = MmsClient.getInstance( ).MM72ApMmsSubmitReq( mmsSend.createMM7_1( ) );
			// req_2 = MmsClient.getInstance( ).MM72ApMmsSubmitReq( mmsSend.createMM7_2( ) );
			// req_3 = MmsClient.getInstance( ).MM72ApMmsSubmitReq( mmsSend.createMM7_3( ) );
			// req_4 = MmsClient.getInstance( ).MM72ApMmsSubmitReq( mmsSend.createMM7_4( ) );
			Map<String, String> result_1 = client.sendMms( req_1 );
			// Map<String, String> result_2 = client.sendMms( req_2 );
			// Map<String, String> result_3 = client.sendMms( req_3 );
			// Map<String, String> result_4 = client.sendMms( req_4 );
			System.out.println( result_1 );
			// System.out.println( result_2 );
			// System.out.println( result_3 );
			// System.out.println( result_4 );
			
			while( true ) {
//				List< SubmitReportModel > StatusReportlist = client.getSubmitReport();
				List<MM7DeliveryReportReq> StatusReportlist = client.getReport( );
				if( StatusReportlist.size( ) > 0 ) {

					for( int i = 0; i < StatusReportlist.size( ); i++ ) {
						System.out.println( "-----------------------------------------"+StatusReportlist.get( i ).getMMStatus( ) );
					}
				}
				try {
					Thread.sleep( 1000 );
				} catch( InterruptedException e ) {
				}
			}
			
		} catch( Exception e ) {
			System.out.println( e );
		}
	}

	private byte[] createByteByFileName( String path ) {
		byte[] b = null;
		try {
			b = Files.readAllBytes( Paths.get( path ) );
		} catch( IOException e ) {
			System.out.println( "文件路劲错误或者找不到该多媒体内容 {}" + e );
		}
		return b;
	}
}

创建 Sdk2SmsSend.java (测试类) 

package demo;

import java.util.List;

import com.mascloud.model.MoModel;
import com.mascloud.model.StatusReportModel;
import com.mascloud.sdkclient.Client;
import com.mascloud.util.JsonUtil;



public class Sdk2SmsSend {
	public static void main( String[] args ) {
		Client client = Client.getInstance( );
		// 登录地址需另外提供
		boolean isLoggedin = client.login( "http://112.35.4.197:15000", "zh****", "S********", "**********有限公司" );
		if( isLoggedin ) {
			System.out.println( "Login successed" );
		} else {
			System.out.println( "Login failed" );
			return;
		}

		// 普通短信
		int rt = client.sendDSMS( new String[]{ "188******96" }, "短信内容", "123", 1, "h**********fE", null, true );
		System.out.println( rt );

		// 模板短信
		int rtm = client.sendTSMS( new String[]{ "188******96" }, "模板ID", new String[]{ "参数一", "参数二" }, "123", 0, "hWYR8VBfE", null );
		System.out.println( rtm );

		// 获取状态报告——开始
		List<StatusReportModel> statusReportlist = client.getReport( );
		System.out.println( "getReport : " + JsonUtil.toJsonString( statusReportlist ) );
		// 获取状态报告——结束

		// 获取上行短信——开始
		List<MoModel> deliverList = client.getMO( );
		System.out.println( "getMO : " + JsonUtil.toJsonString( deliverList ) );
		// 获取上行短信——结束



	}
}

 修改你自己对应的:账号、密码、短信签名编码

移动短信对接,java,开发语言

账号      对应  userAccount  

密码      对应  password

企业名称  对应  ecname  

接口URL   对应  url     

----------------------------------------------------------------------
解释:
Http协议的Url参考:

1.http下login方法调用的接口:http://112.35.4.197:15000
2.http下sendMsg方法调用接口:http://112.35.1.155:1992/sms/norsubmit 



Https协议的Url参考:

二平台
https	普通短信	https://112.35.10.201:28888/sms/submit
https	模板短信	https://112.35.10.201:28888/sms/tmpsubmit

五平台
https	普通短信	https://112.35.10.201:58888/sms/submit
https	模板短信	https://112.35.10.201:58888/sms/tmpsubmit

.完整Demo

链接还未审核通过,稍后更新,点击0积分获取!!!文章来源地址https://www.toymoban.com/news/detail-706755.html

到了这里,关于Java+Demo对接中国移动 云MAS短信发送(http协议详解,新测成功!)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 中国移动吉比特H5-9光猫获取超级管理员权限

    亲测可用型号:H5-9 、h3-2se 1.使用光猫背后的普通用户名登录进光猫,浏览器复制以下链接打开 方法一: http://192.168.1.1/usr=CMCCAdminpsw=aDm8H%25MdAcmd=1telnet.gch 方法二:(亲测有效) http://192.168.1.1/getpage.gch?pid=1002nextpage=tele_sec_tserver_t.gch 2.电脑启用 telnet 3.通过telnet进入光猫 CMD下输

    2023年04月08日
    浏览(59)
  • 中国移动--九天毕昇平台使用测试(薅Telsa V100)

    平台网址:https://jiutian.10086.cn/edu/web#/invite-register?token=MzdjMWUwNGYtMjgwYS00YjU3LWFiM2YtNzA4YzdmMzIxOTFi  在控制台部分,我们可以进入训练模型。在学习部分有大量的学习资料,大家可以根据自己情况进行学习。  数据管理:在训练我们自己的数据时,可以在此处上传自己的数据库 模型

    2024年02月08日
    浏览(39)
  • 中国电信移动物联网发展成果与创新实践 ,干货满满

    近日, 首届移动物联网大会(2022) (以下简称“大会”)在江苏省无锡市举办。本次大会由工信部指导,中国信息通信研究院(以下简称“中国信通院”)、中国通信学会、无锡市人民政府、人民邮电报社、江苏省工业和信息化厅、江苏省通信管理局共同主办,无锡物联网

    2024年02月09日
    浏览(26)
  • 移动云强化云网全域安全能力,为数字中国建设保驾护航

    随着越来越多的企业上云用云、IT架构的持续更新,软件供应链风险提升、安全边界模糊、云上资产难以得到切实保障等诸多问题显露。相关报告显示,公有云在面临攻击时,攻击来源可能多种多样,其中96.1%的云上攻击主要来源于外网,3.9%的攻击来自内网横移、跨网段攻击

    2024年02月03日
    浏览(27)
  • 中国移动董宁:深耕区块链的第八年,我仍期待挑战丨对话MVP

    区块链技术对于多数人来说还是“新鲜”的代名词时,董宁已经成为这项技术的老朋友。 董宁2015年进入区块链领域,现任中国移动研究院技术总监、区块链首席专家。作为“老友”,董宁见证了区块链技术多个爆发式增长和平稳发展的阶段,他将这些过总结为“螺旋式上升

    2024年02月07日
    浏览(41)
  • 中国移动携手华为等产业伙伴联合发布5G-Advanced产业创新成果

    【2022年6月6日,线上】今日,恰逢中国5G发牌三周年,中国移动召开 “5G-Advanced双链融合产业创新成果发布会”。期间,中国移动携手华为等产业伙伴共同发布了全球首批5G-Advanced端到端产业样板及《5G-Advanced新能力与产业发展白皮书》 , 标志着创新链和产业链深度融合 ,

    2024年02月11日
    浏览(32)
  • 中国移动发布COCA软硬一体片上计算架构,引领云计算市场下一个黄金十年

    当前,数字经济发展已经成为改变全球竞争格局的关键力量,随着算力成为数字经济新引擎,算力规模持续增长,算力结构发生改变。主动拥抱智算浪潮,持续输出优质算力支撑数字中国建设,适配泛在化、异构化算力推动数智化转型,正成为面向未来基础设施新变革的重要

    2024年02月04日
    浏览(29)
  • 中国移动物联网开放平台OneNET学习笔记(2)——设备接入测试(MQTT协议)OneNET Studio篇

    进入Studio平台后,展开菜单栏中的「设备接入与管理」,点击「设备管理」,进入设备列表页面。 点击「添加设备」,选中单个设备(默认方式)输入设备详情,点击「确定」创建设备。 按照提示填写产品的基本信息,进行产品创建;请按照提示尽可能完整、全面地填写相

    2024年02月02日
    浏览(39)
  • NFT Insider #94:​The Sandbox与ERM Labs达成合作,周杰伦与中国移动开启元宇宙合作

    引言:NFT Insider由NFT收藏组织WHALE Members(https://twitter.com/WHALEMembers)、BeepCrypto(https://twitter.com/beep_crypto)联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周报将从NFT市场数据,艺术新闻类,游戏新闻类,虚拟世界类,其他动态类,五个角

    2024年02月04日
    浏览(27)
  • 【资讯速递】AI与人类思维的融合;OpenAI在中国申请注册“GPT-5”商标;移动大模型主要面向to B 智能算力是未来方向

    2023年8月11日 星期五 癸卯年六月廿五 第000001号 欢迎来到 爱书不爱输的程序猿 的博客, 本博客致力于知识分享,与更多的人进行学习交流 本文收录于 IT资讯速递 专栏, 本专栏 主要用于发布各种IT资讯,为大家可以省时省力的就能阅读和了解到行业的一些新资讯 据 TechXplore报道

    2024年02月13日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包