1 最近公司 在开发短信猫,如果 发送失败 可以看日志 把 errormessage 打印出来 即可,常见的错误 见下表
http://blog.youkuaiyun.com/joji_h/article/details/5298919
其中最常见的是 cms error 8 ,这个时候 就是 没有费用了需要充值,但是我的一个卡,最近老是 报 errormessage null ,不清楚具体原因。查看 程序的输出,发现 ,这个卡 美国一段时间 就不工作了,具体表现为。后台 不打印 如下的 信息
Sending Pdu: 0071000B818106105673F10008FF1A050003300202007500610020000A005B7EA29EA6820660C5005Dnullgatewayid18701410600
如果 ,后台 打印了 (需要程序打印),这样的信息,表示 这个卡 在工作 ,在不停的向往发送 pdu,发送信息,但是 如果好长时间 ,都不见到这样的信息 打印,就是 这个卡 已经不工作了,这个时候 就会报 报 errormessage null的异常,
重启 这个卡以后,就会正常,但是 问题反复。卡在停止前,回报一个错误。
Exception in thread "SMSLib-AsyncMessageProcessor : 18701410600" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1911)
at org.smslib.modem.ModemGateway.readMessagesPDU(ModemGateway.java:551)
at org.smslib.modem.ModemGateway.readMessages(ModemGateway.java:213)
at org.smslib.modem.AModemDriver$AsyncMessageProcessor.run(AModemDriver.java:880)