日前,使用华为mas机的V4.1D3API接口(JAVA)进行发短信的开发测试。按照帮助文档导入了SMSendAPI.jar包,并把smsendsql.xml文档放在了当前目录。可是在测试程序中使用初始化时总是出现异常,希望有做过此类开发的高手们给分析下是怎么回事。
import java.util.Properties;
import com.huawei.api.*;
import com.huawei.utils.*;
import com.huawei.api.SMException;
import java.util.Date;public class test { public test() {
} public void test_submitShortMessage() {
try {
String dbName = "xxx.xxx.xxx.xxx";
String name = "xxxx";
String pass = "xxxxx";
SMEntry.init(dbName, name, pass); } catch (Exception e) {
System.out.print(e.getMessage());
}
} public static void main(String[] args) {
test mytest = new test();
mytest.test_submitShortMessage();
}
}异常
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.huawei.api.ConnectionMgr.initConn(ConnectionMgr.java:81)
at com.huawei.api.SMEntry.init(SMEntry.java:58)
at test.test_submitShortMessage(test.java:21)
at test.main(test.java:42)
Caused by: java.lang.NullPointerException
at com.huawei.api.smsend.db.DBSQL.<clinit>(DBSQL.java:7)
... 4 more
import java.util.Properties;
import com.huawei.api.*;
import com.huawei.utils.*;
import com.huawei.api.SMException;
import java.util.Date;public class test { public test() {
} public void test_submitShortMessage() {
try {
String dbName = "xxx.xxx.xxx.xxx";
String name = "xxxx";
String pass = "xxxxx";
SMEntry.init(dbName, name, pass); } catch (Exception e) {
System.out.print(e.getMessage());
}
} public static void main(String[] args) {
test mytest = new test();
mytest.test_submitShortMessage();
}
}异常
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.huawei.api.ConnectionMgr.initConn(ConnectionMgr.java:81)
at com.huawei.api.SMEntry.init(SMEntry.java:58)
at test.test_submitShortMessage(test.java:21)
at test.main(test.java:42)
Caused by: java.lang.NullPointerException
at com.huawei.api.smsend.db.DBSQL.<clinit>(DBSQL.java:7)
... 4 more
能不能把你那个php类贴出来啊,我也用那个jar发送时报错了,不知什么原因啊
at com.huawei.api.ConnectionMgr.initConn(ConnectionMgr.java:81)
at com.huawei.api.SMEntry.init(SMEntry.java:58)
at com.xahg.sendmsg.Sendmsg.init(Sendmsg.java:21)
at com.xahg.sendmsg.Sendmsg.submitShortMessage(Sendmsg.java:81)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
我现在报这个错
就是 .project 的所在目录。我开始的时候放在调用方法所在的程序目录,就是src里面,不起作用。放到外面就好了。
写的这么垃圾的代码,连smsendsql.xml位置都不能灵活配置.
朋友,你能详细说下吗?具体位置在发布后再tomcat的那个目录下啊?
以tomcat为例,它的确切位置应该和webapps目录平级。
如:
tomcat\smsendsql.xml
tomcat\webapps