mm7发送彩信

1.下载中移mm7 api文档
2.下载几个包,和配置文件,这里网上都有
3.下面实际上代码

   //发送彩信 mm7
    private void sendCMsg(Connection conn, CMPPTaskInfo taskInfo) {
        log.info("sendThread====sendCMsg====start");
        String fileId = taskInfo.getFileId();
        String msg = taskInfo.getContent();
        Environment environment = SpringContextUtil.getBean(Environment.class);
        String rootPath = environment.getProperty("mms.file.path");
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
            MM7SubmitReq submit = new MM7SubmitReq();
            submit.setTransactionID(taskInfo.getSeqId().toString());
            submit.addTo(taskInfo.getReceiver());
            submit.setVASID(environment.getProperty("mm7.VASID"));
            submit.setVASPID(environment.getProperty("mm7.VASPID"));
            submit.setServiceCode(environment.getProperty("mm7.ServiceCode"));
            submit.setSenderAddress(environment.getProperty("mm7.SenderAddress"));
            submit.setSubject("位置信息");
            submit.setChargedPartyID(taskInfo.getReceiver());
            submit.setChargedParty((byte) 4);
            submit.setDeliveryReport(true);
            //submit.setReplyCharging(true);
            //submit.setReplyChargingSize(100);
            //submit.setReplyDeadline(sdf.parse("2005-03-23T15:35:00"));
            //submit.setMessageClass("Personal");
            //submit.setReadReply(true);
            //submit.setEarliestDeliveryTime(sdf.parse("2005-03-21T21:35:00"));
            //submit.setExpiryDate(sdf.parse("2004-03-11T17:00:00"));
            //submit.setPriority((byte)2);
            //submit.setMessageClass("Personal");
            //submit.setReplyDeadline(sdf.parse("2004-03-03T23:59:59"));

            MMContent content = new MMContent();
            content.setContentType(MMConstants.ContentType.MULTIPART_MIXED);
            content.setContentID("详细地图");
/*			MMContent sub1 = MMContent.createFromFile("./ccc.jpg");
			sub1.setContentID("1.jpg");
			sub1.setContentType(MMConstants.ContentType.JPEG);
			content.addSubContent(sub1);
			MMContent sub3 = MMContent.createFromFile("./bbb.mid");
			sub3.setContentID("1.mid");
			sub3.setContentType(MMConstants.ContentType.MIDI);
			content.addSubContent(sub3);*/
            byte[] bb = (byte[]) null;
            try {
                bb = msg.getBytes("gb2312");
            } catch (Exception e) {
                try {
                    bb = msg.getBytes(StandardCharsets.UTF_8);
                } catch (Exception e1) {
                    bb = msg.getBytes();
                }
            }
            InputStream input = new ByteArrayInputStream(bb);
            MMContent sub2 = MMContent.createFromStream(input);
            sub2.setContentID("位置");
            //可以设置成sub2.setContentType("text/plain");也可以用下面方法设置
            sub2.setContentType(MMConstants.ContentType.TEXT);
            content.addSubContent(sub2);
/*			byte[] bb = null;
			bb = "大学生".getBytes("UTF-8");
			MMContent sub2 = MMContent.createFromBytes(bb);
			sub2.setContentID("2.txt");
			sub2.setContentType(MMConstants.ContentType.TEXT);
			content.addSubContent(sub2);*/

            MMContent sub4 = MMContent.createFromFile(rootPath + fileId);
            sub4.setContentID("地图");
            sub4.setContentType(MMConstants.ContentType.JPEG);
            content.addSubContent(sub4);

            submit.setContent(content);

            MM7Sender mm7Sender = new MM7Sender(NxSmsMain.mm7Config);
            MM7RSRes rsRes;
            rsRes = (MM7RSRes) mm7Sender.send(submit);
            if (rsRes instanceof MM7SubmitRes) {
                //变更该条数据状态为已发送成功
                log.info("mm7====变更发送状态=seq:{}", taskInfo.getSeqId() + "");
                dao.updateSendSuss(ConnectionManager.getInstance().getConnection(), false, taskInfo.getSeqId() + "");
                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("不正确消息!rsRes.statuscode=" + rsRes.getStatusCode() + ";rsRes.statusText=" + rsRes.getStatusText());
            }
/*
			MM7CancelReq cancelReq = new MM7CancelReq();
			cancelReq.setTransactionID(submitRes.getTransactionID());
			cancelReq.setMessageID(submitRes.getMessageID());
			cancelReq.setVASID("4444");
			cancelReq.setVASPID("804444");
			cancelReq.setSenderAddress("4444");
			rsRes = mm7Sender.send(cancelReq);
			if(rsRes instanceof MM7CancelRes)
			{
			MM7CancelRes cancelRes = (MM7CancelRes)rsRes;
			System.out.println("-----------------------");
			System.out.println(cancelRes.toString());
			System.out.println("cancelRes!statuscode="+cancelRes.getStatusCode()+";statustext="+cancelRes.getStatusText());
			}else{
			  System.out.println("不正确消息!rsRes.statuscode="+rsRes.getStatusCode() + ";rsRes.statusText=" + rsRes.getStatusText());
			}
*/
/*
			MM7ReplaceReq replaceReq = new MM7ReplaceReq();
			replaceReq.setTransactionID(submitRes.getTransactionID());
			replaceReq.setMessageID(submitRes.getMessageID());
			replaceReq.setVASID("4444");
			replaceReq.setVASPID("804444");
			replaceReq.setServiceCode("123");
			content = new MMContent();
			content.setContentType(MMConstants.ContentType.MULTIPART_RELATED);
			content.setContentID("mm7Test");
			ss = "这是一个Replace MMS";
			bb = null;
			bb = ss.getBytes();
			input = new ByteArrayInputStream(bb);
			sub2 = MMContent.createFromStream(input);
			sub2.setContentID("2.txt");
			sub2.setContentType(MMConstants.ContentType.TEXT);
			content.addSubContent(sub2);
			replaceReq.setContent(content);
			rsRes = mm7Sender.send(replaceReq);
			if(rsRes instanceof MM7ReplaceRes)
			{
			MM7ReplaceRes replaceRes = (MM7ReplaceRes)rsRes;
			System.out.println("Replace!res.statuscode="+replaceRes.getStatusCode()+";res.statustext="+replaceRes.getStatusText());
			}else{
			  System.out.println("不正确消息!rsRes.statuscode="+rsRes.getStatusCode() + ";rsRes.statusText=" + rsRes.getStatusText());
			}
*/
        } catch (Exception e) {
            System.out.println(e);
        }
    }
``


//添加几个容易出现的问题
//1.需要和彩信网关连接并加上白名单
//2.注意配置文件		里面的这几个	
cancelReq.setVASID("4444");
			cancelReq.setVASPID("804444");
			cancelReq.setSenderAddress("4444");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值