`
peahen
  • 浏览: 26761 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

华为彩信模拟器的参数设置

阅读更多
    最近开发了一个SP的彩信接入系统,代码编写完成后,觉得有必要进行接发测试。从网上下载来华为彩信模拟器,测试过程中发现始终无法成功。不得已使用DJ Java Decompiler反汇编了一下代码,经过简单分析终于才了解到接发的URL地址和端口如何填写,真是不知道为什么华为不把文档写详细一点,搞得大家开发那么累。
1、mm7Config.xml中的ListenIP、ListenPort分别是接收彩信时的监听地址和端口,这里我使用了127.0.0.1和9080,对应华为彩信模拟器的Send to应该填写http://127.0.0.1:9080/Receiver。
2、mm7Config.xml中的mmscURL、mmscIP分别是彩信中心接收彩信时的URL和IP地址,这里我使用了/vas和127.0.0.1,对应华为彩信模拟器的Listener Port填写80即可。
    这样对mm7Config.xml和华为彩信模拟器进行了适当的修改,启动自己开发的彩信接入系统。点击“Send”按钮,命令窗口还是报错,具体如下:
错误:“没有说明名称空间前缀“soap-env”。”
2009-6-24 17:20:05 com.sun.xml.internal.messaging.saaj.soap.MessageImpl writeTo
严重: SAAJ0540: Error during saving a multipart message

这个问题稍微麻烦一点,需要在系统属性中设置javax.xml.soap.MessageFactory和javax.xml.soap.SOAPConnectionFactory。实际上华为的彩信模拟器MMSCSimulation.exe是一个可执行的jar包,用WinRar将该文件展开到你的工作目录下,然后执行java -Xmx1024m -Xms1024m  -Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.MessageFactoryImpl -Djavax.xml.soap.SOAPConnectionFactory=com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnectionFactory com.huawei.mms.simulation.MM7Simulation启动模拟器,就可以进行测试啦。
  • 大小: 55.7 KB
2
0
分享到:
评论
8 楼 LiuZhongdong27 2012-04-24  
我现在正在做彩信的模块  谁还在做可以加我Q626545711  大家一起交流 我的还没好使
7 楼 mysky_603 2012-02-06  
谢谢
6 楼 lliovkee 2011-04-18  
最近 也在用这款软件 在 测试 上行的时候 没有找到 哪里 可以配置 短信的 内容 包括选择图片
有时间 麻烦 指导下哈 不胜感激 
5 楼 hyj0903 2010-06-19  
请问如何设置
然后执行java -Xmx1024m -Xms1024m  -Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.MessageFactoryImpl -Djavax.xml.soap.SOAPConnectionFactory=com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnectionFactory
这个怎么用啊?
4 楼 yuniannian 2009-11-30  
感谢楼主啊,我也出现这个问题了,按照你的做法,解决了
3 楼 ruanwxh 2009-09-28  
还有发送图片时,我点Detail时,里面有好多乱码呢.图片在哪看呢
2 楼 ruanwxh 2009-09-28  
package com.test;

import com.cmcc.mm7.vasp.service.*;
import com.cmcc.mm7.vasp.message.*;
import com.cmcc.mm7.vasp.conf.*;
import com.cmcc.mm7.vasp.common.*;
import java.net.*;
import java.io.*;
import java.util.*;

public class MyReceiver extends MM7Receiver
{
  //处理到VASP的传送(deliver)多媒体消息
  public MM7VASPRes doDeliver(MM7DeliverReq mm7DeliverReq) {
    MM7DeliverRes res = new MM7DeliverRes();
    int i = 0;
    System.out.println("transactionid=" + mm7DeliverReq.getTransactionID());
   
    if(mm7DeliverReq.isToExist())
    {
    List to = mm7DeliverReq.getTo();
    for(i = 0;i < to.size();i ++)
    {
    System.out.println("to="+to.get(i));
    }
    }

    if(mm7DeliverReq.isCcExist())
    {
     List cc = mm7DeliverReq.getCc();
    for(i = 0;i < cc.size();i ++)
    {
    System.out.println("cc="+cc.get(i));
    }
   }

    if(mm7DeliverReq.isBccExist())
    {
     List bcc = mm7DeliverReq.getBcc();
    for(i = 0;i < bcc.size();i ++)
    {
    System.out.println("bcc="+bcc.get(i));
    }
    }
   
    if(mm7DeliverReq.isLinkedIDExist())
    {
    System.out.println("linkedid="+mm7DeliverReq.getLinkedID());
    }
   
    if(mm7DeliverReq.isMMSRelayServerIDExist())
    {
    System.out.println("mmsrelayserverid="+mm7DeliverReq.getMMSRelayServerID());
    }
   
    if(mm7DeliverReq.isPriorityExist())
    {
    System.out.println("priority="+mm7DeliverReq.getPriority());
    }
   
    if(mm7DeliverReq.isReplyChargingIDExist())
    {
    System.out.println("replycharging="+mm7DeliverReq.getReplyChargingID());
    }
   
    if(mm7DeliverReq.isSenderExist())
    {
    System.out.println("sender="+mm7DeliverReq.getSender());
    }
   
    if(mm7DeliverReq.isSubjectExist())
    {
    System.out.println("subject="+mm7DeliverReq.getSubject());
    }
   
    if(mm7DeliverReq.isTimeStampExist())
    {
    System.out.println("timestamp="+mm7DeliverReq.getTimeStamp());
    }
   
if(mm7DeliverReq.isContentExist())
{
    MMContent parentContent = mm7DeliverReq.getContent();
    if(parentContent.isMultipart())
    {
    System.out.println("multipart");
    List contentList = parentContent.getSubContents();
    System.out.println("i="+contentList.size());
    for(i = 0;i < contentList.size();i ++)
    {
    MMContent mmContent = (MMContent)contentList.get(i);
    String contentID = mmContent.getContentID();
    contentID = "zxme" + i;
    MMContentType mmContentType = mmContent.getContentType();
    System.out.println("contenttype="+mmContentType.getPrimaryType()+"/"+mmContentType.getSubType());
    if(mmContentType.getSubType().trim().equalsIgnoreCase("jpeg"))
    contentID = contentID + ".jpg";
    else if(mmContentType.getSubType().trim().equalsIgnoreCase("gif"))
    contentID = contentID + ".gif";
    else if(mmContentType.getSubType().trim().equalsIgnoreCase("midi"))
    contentID = contentID + ".mid";
    else if(mmContentType.getSubType().trim().equalsIgnoreCase("png"))
    contentID = contentID + ".png";
    else if(mmContentType.getPrimaryType().trim().equalsIgnoreCase("text"))
    contentID = contentID + ".txt";
   
    System.out.println("contentID="+contentID);
    byte content[] = mmContent.getContent();
    try
    {
    FileOutputStream fileStream = new FileOutputStream("c:\\temp\\"+contentID);
    fileStream.write(content);
    fileStream.close();
    }
    catch(IOException e)
    {
    System.err.println(e);
    }
    }
}
else
{
System.out.println("singlepart");
    String contentID = parentContent.getContentID();
    System.out.println("contentID="+contentID);
    if(contentID == null || contentID.length() == 0)
    contentID = "zxme.";
    MMContentType mmContentType = parentContent.getContentType();
    if(mmContentType.getSubType().equalsIgnoreCase("jpeg"))
    contentID = contentID + "jpg";
    else if(mmContentType.getSubType().equalsIgnoreCase("gif"))
    contentID = contentID + "gif";
    else if(mmContentType.getSubType().equalsIgnoreCase("mid"))
    contentID = contentID + "mid";
    else if(mmContentType.getSubType().equalsIgnoreCase("png"))
    contentID = contentID + "png";
    else if(mmContentType.getPrimaryType().equalsIgnoreCase("txt"))
    contentID = contentID + "txt";

    byte content[] = parentContent.getContent();
    try
    {
    FileOutputStream fileStream = new FileOutputStream("c:\\temp\\"+contentID);
    fileStream.write(content);
    fileStream.close();
    }
    catch(IOException e)
    {
    System.err.println(e);
    }
}
}
    res.setTransactionID(mm7DeliverReq.getTransactionID());
    res.setStatusCode(1000);
    return res;
  }

  //处理到VASP的发送报告
  public MM7VASPRes doDeliveryReport(MM7DeliveryReportReq mm7DeliveryReportReq)
  {
    System.out.println("transactionid="+mm7DeliveryReportReq.getTransactionID());
    MM7DeliveryReportRes res = new MM7DeliveryReportRes();
    res.setTransactionID(mm7DeliveryReportReq.getTransactionID());
    res.setStatusCode(1000);
    return res;
  }

  //处理到VASP的读后回复报告
  public MM7VASPRes doReadReply(MM7ReadReplyReq mm7ReadReplyReq)
  {
    System.out.println("transactionid="+mm7ReadReplyReq.getTransactionID());
    MM7ReadReplyRes res = new MM7ReadReplyRes();
    res.setTransactionID(mm7ReadReplyReq.getTransactionID());
    res.setStatusCode(1000);
    return res;
  }

  public static void main(String[] args)
  {
MM7Config Config = new MM7Config("src/config/mm7Config.xml");
Config.setConnConfigName("src/config/ConnConfig.xml");
  MyReceiver myReceiver = new MyReceiver();
  myReceiver.setConfig(Config);
 
  System.out.println("begin listen");
 
  myReceiver.start();
  for(;;)
  {
    try{
      Thread.sleep(5);
    }catch(Exception e){}
  }
 
  }

}

为什么我的接收没反应啊!上面是我的接收源码?发送是可以了。
配置文件:
<ListenIP>192.168.168.124</ListenIP>---192.168.168.124是我的IP地址
<ListenPort>8888</ListenPort>
MM7模拟器
http://192.168.168.124:8888/Receiver
1 楼 yisafe 2009-06-28  
老兄,我也做彩信这个,能不能交个朋友呢?QQ170071547

相关推荐

Global site tag (gtag.js) - Google Analytics