华为CMPP API开发短信问题!~急~JJMMGG救我啊~

dongdong715 2005-12-05 02:13:16
光揽都接好了,也可以测试能连上移动的ISMG 网关,用一个C的软件能对移动给的ID和PWD进行正确的连接测试,,
但是用华为的API为什么连不上去?
程序
import com.huawei.smproxy.*;
import com.huawei.insa2.comm.cmpp.message.*;
import com.huawei.insa2.comm.cmpp30.message.*;
import com.huawei.insa2.util.*;
import java.util.*;


public class Demo30
{

private static Args args;


private static SMProxy30 myProxy= null;
static byte[] msg_Id=null;
static Date time;
static int query_Type;
static String query_Code;
static String reserve;
static int pk_Total=1;
static int pk_Number=1;
static int registered_Delivery=1;
static int msg_Level=1;
static String service_Id="websms";
static int fee_UserType=1;
static String fee_Terminal_Id="1";
static int fee_Terminal_Type=1;
static int tp_Pid=1;
static int tp_Udhi=0;
static int msg_Fmt=1;
static String msg_Src="websms";
static String fee_Type="02";
static String fee_Code="999";
static Date valid_Time;
static Date at_Time;
static String src_Terminal_Id="1";
static String[] dest_Terminal_Id={"13794....."};
static int dest_Terminal_Type=1;
static byte[] msg_Content={'1'};
static String LinkID="12";
public Demo30()
{
}

public static void main(String[] a) throws Exception
{
try
{

args = new Cfg("app.xml",false).getArgs("CMPPConnect");
System.out.println("Yes");
args.set("source-addr","id");//id
args.set("shared-secret","pwd");//pwd
System.out.println("Yes1");
myProxy= new SMProxy30(args);//get the connecttion
System.out.println("Yes2");
CMPP30SubmitMessage submitMsg =new CMPP30SubmitMessage(pk_Total,pk_Number,registered_Delivery,msg_Level,service_Id,fee_UserType,fee_Terminal_Id,fee_Terminal_Type,tp_Pid,tp_Udhi,msg_Fmt,msg_Src,fee_Type,fee_Code,valid_Time,at_Time,src_Terminal_Id,dest_Terminal_Id,dest_Terminal_Type,msg_Content,LinkID);
// CMPP30SubmitRepMessage cc=new CMPP30SubmitRepMessage(msg_Id);
System.out.println("Yes3");
myProxy.send(submitMsg);
System.out.println("Yes4");
//CMPP30SubmitRepMessage submitRepMsg =
//CMPPCancelMessage cancelMsg =new CMPPCancelMessage(msg_Id);
// myProxy.send(cancelMsg);
// System.out.println("Yes5");
// CMPPCancelRepMessage cancelRepMsg =


CMPPQueryMessage queryMsg =new CMPPQueryMessage(time,query_Type,query_Code,reserve);
System.out.println("Yes6");

myProxy.send(queryMsg);
//CMPPQueryRepMessagemy queryRepMsg =

String stateDesc = myProxy.getConnState();

myProxy.close();

}
catch(Exception e)
{

System.out.println("Can not connect to ismg");


}


}
}
==================================================================================
错误信息
Yes
Yes1
Yes2java.lang.IllegalArgumentException: SMC发送过来的消息错误

at com.huawei.insa2.comm.cmpp30.message.CMPP30ConnectRepMessage.<init>(C
MPP30ConnectRepMessage.java:33)
at com.huawei.insa2.comm.cmpp30.CMPP30Reader.read(CMPP30Reader.java:46)
at com.huawei.insa2.comm.cmpp30.CMPP30Connection.connect(CMPP30Connectio
n.java:207)
at com.huawei.insa2.comm.PSocketConnection$1$ReceiveThread.task(PSocketC
onnection.java:226)
at com.huawei.insa2.util.WatchThread.run(WatchThread.java:48)
Yes3
null=====================================
Yes4
con not connect to ismg
Press any key to continue...

...全文
734 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
starsky0 2006-04-20
  • 打赏
  • 举报
回复
请问楼主,收的问题搞定了没?怎么收上行过来的内容?
funcreal 2005-12-06
  • 打赏
  • 举报
回复
我的qq:
11144556,注明网关2.0
funcreal 2005-12-06
  • 打赏
  • 举报
回复
把100分都给阿拉,阿拉就告诉你
dongdong715 2005-12-06
  • 打赏
  • 举报
回复
哈哈,,,阿拉自己都搞掂了,,楼上的好贪心哦~~哈哈哈哈~昨天晚上终于搞好了~~哈哈~~
dongdong715 2005-12-05
  • 打赏
  • 举报
回复
刚才测试的时候,下面是SIMG响应回来的信息。
20:12:19.625(CMPPTransaction.java:37) CMPP_Submit_REP: Sequence_Id=2,MsgId=卵
飸?,Result=64
dongdong715 2005-12-05
  • 打赏
  • 举报
回复
可以连到了,哈哈,原来是合同里应该只能用CMPP2.0的,,领导签的,阿拉不知道,
但是发送的时候参数多,,能解释下CMPP2.0的发送短信时的参数吗 ?
谢谢~
dongdong715 2005-12-05
  • 打赏
  • 举报
回复
===============================================
Args args = new Cfg("config.xml").getArgs("ismg");
好像ismg不能换成别的。

=================================================
这个是可以换的,,更改他的XML文件名字就可以了,再改它节点,况且华为本身的文档是getArgs("ismg"),但是他APP.XML里面确实Cmppconnect的,,怪,。~



谢谢~ funcreal(为中华之崛起而编程)~~~~
funcreal 2005-12-05
  • 打赏
  • 举报
回复
Args args = new Cfg("config.xml").getArgs("ismg");
好像ismg不能换成别的。

args.set("source-addr","id");//id
args.set("shared-secret","pwd");//pwd

这两个参数也可以直接写到配置文件中。

别的也帮不了你。
dongdong715 2005-12-05
  • 打赏
  • 举报
回复
网关版本是0-256的,是2.0和3.0都试过了,,
funcreal 2005-12-05
  • 打赏
  • 举报
回复
网关版本确定吗?如果是2.0就应该用2.0的api来连接。
jxdn_yang 2005-12-05
  • 打赏
  • 举报
回复
没有涉及过,只能帮忙顶^_^
dongdong715 2005-12-05
  • 打赏
  • 举报
回复
没有参考的DEMO啊,,就连资料也很少,,
gemouzhi 2005-12-05
  • 打赏
  • 举报
回复
只好帮你up,以前我用CMPP写过东西,不过不是java,这CMPP函数名写的笑死了。

你没有什么可以参考的demo吗?应该华为联系一下

23,405

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧