`
peahen
  • 浏览: 26958 次
  • 性别: 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

相关推荐

    MMSCSimulation华为彩信MM7接口模拟器java源码

    【标题】"MMSCSimulation华为彩信MM7接口模拟器java源码"涉及的主要知识点是华为彩信(Multimedia Messaging Service Center,MMSC)系统中的MM7接口模拟以及Java编程语言的应用。 【描述】提到的“MMSCSimulation...

    华为SMV1R5_DEMO(华为存储模拟器)

    1. 模拟真实环境:SMV1R5_DEMO能够模拟出华为存储产品的完整功能,包括硬盘管理、RAID配置、LUN创建、存储池设置、快照、克隆、复制等,为用户提供与实际设备无异的体验。 2. 实时操作反馈:用户在模拟器上进行的...

    华为存储模拟器DeviceManager_Demo

    华为存储模拟器,适用于个人学习

    华为SOAP模拟器_彩信

    - 该模拟器支持自定义HTTP头、SOAP头以及SOAP消息体,可灵活设置各种参数,帮助开发者验证服务端接口的正确性和兼容性。 - 它还具备自动构造SOAP请求的能力,可以极大地提高开发和测试的效率,减少手动编写XML的...

    华为路由模拟器(可以模拟路由实验)

    - **配置模拟**:用户可以在模拟器上配置各种路由器参数,如接口设置、IP地址分配、路由协议配置等。 - **实验设计**:支持创建复杂的网络拓扑,模拟实际网络环境进行实验。 - **故障模拟**:可模拟网络故障,...

    华为存储模拟器 OceanStor V5 系列 V500R007C61 DeviceManager Demo含使用说明.rar

    在"华为存储模拟器 OceanStor V5 系列 V500R007C61 DeviceManager Demo含使用说明"中,我们可以深入学习和了解以下核心知识点: 1. **存储模拟器**:存储模拟器是一种软件工具,它允许用户在没有实际硬件的情况下...

    华为模拟器2010内部最新版

    华为模拟器2010内部最新版华为模拟器2010内部最新版华为模拟器2010内部最新版华为模拟器2010内部最新版华为模拟器2010内部最新版华为模拟器2010内部最新版华为模拟器2010内部最新版华为模拟器2010内部最新版华为...

    华为存储模拟器

    华为存储模拟器,快速入门,小白必备利器,模拟实战。

    华为路由器模拟器2.2

    华为路由器模拟器2.2是一款专为学习和实践华为网络设备操作而设计的软件工具。它允许用户在没有实际硬件设备的情况下,通过虚拟环境配置、管理和测试华为路由器的网络连接和路由协议。这款模拟器是网络工程师、学生...

    华为ensp模拟器,方便练习使用

    华为ensp模拟器,方便练习使用

    华为路由器模拟器3.1与实验注释

    华为路由器模拟器3.1能够模拟真实网络环境,用户可以通过它来学习和实践各种网络协议的配置,例如OSPF、BGP、IS-IS等,同时能够设置静态与动态路由,实现VLAN划分,以及配置QoS策略。这些功能对网络工程师而言,都是...

    华为ensp模拟器安装包

    【华为eNSP模拟器安装指南】 华为eNSP(Enterprise Network Simulation Platform)是一款强大的网络仿真工具,专为网络工程师和学习者设计,用于模拟和验证各种华为网络设备的配置和功能。它允许用户在虚拟环境中...

    华为路由器模拟器(路由模拟器2.2)

    【华为路由器模拟器(路由模拟器2.2)】是一款专为学习和实践华为路由器配置与管理而设计的软件工具。这款模拟器提供了真实的网络环境,使得用户可以在无需实际硬件设备的情况下,深入理解和掌握华为路由器的各类...

    华为交换机模拟器 交换机模拟器下载 HW-routesim

    华为交换机模拟器,如HW-routesim,是学习和测试网络配置及路由协议的强大工具。这个模拟器允许用户在不实际操作硬件设备的情况下,熟悉和掌握华为交换机的配置和管理,对于网络工程师和学生来说是极具价值的学习...

    华为路由模拟器华为路由模拟器

    华为路由模拟器华为路由模拟器华为路由模拟器华为路由模拟器华为路由模拟器

    华为eNSP模拟器命令.doc

    华为eNSP模拟器命令详解 华为eNSP模拟器是一个功能强大的网络模拟器,可以模拟各种网络设备和网络拓扑结构,为网络管理员和开发者提供了一个非常实用的工具。在这个模拟器中,我们可以使用各种命令来管理和配置网络...

    华为路由器模拟器,自由设置网络

    华为路由器模拟器,自由设置网络,真正的模拟各种网络环境

    华为ensp模拟器,华为路由器、交换机模拟器

    华为ensp模拟器,华为路由器、交换机模拟器 华为ensp模拟器,华为路由器、交换机模拟器 华为ensp模拟器,华为路由器、交换机模拟器 华为ensp模拟器,华为路由器、交换机模拟器

    华为模拟器ENSP 华为模拟器ENSP

    华为模拟器ENSP(Enterprise Network Simulation Platform)是华为公司推出的一款强大的网络仿真工具,它允许网络工程师、技术爱好者以及学习者在虚拟环境中搭建、配置和测试华为的网络设备,如路由器、交换机等,而...

    华为新版模拟器eNSP Lite产品手册,仅供参考

    华为新版模拟器eNSP Lite产品手册,提前解锁华为新版模拟器eNSP Lite的基本情况、对安装设备的要求以及模拟器实验界面。华为新版模拟器eNSP Lite提前入门!

Global site tag (gtag.js) - Google Analytics