最近开发了一个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启动模拟器,就可以进行测试啦。