急!关于短信猫的一个问题,在线等!拜托各位了!

时间:2020-12-24 15:38:18
java实现短信猫的二次开发,按照调用短信猫里面提供的接口。运行demo程序的时候,控制台不报错只是打印出WARM来。服务一直启动不了,如下
----------------------------------------------------------------------------------------------
初始化成功,准备开启服务
0 [Thread-1] WARN org.smslib  - GTW: modem.com4: Cannot understand SIMPIN response: ERROR
, will wait for a while...
5010 [Thread-1] WARN org.smslib  - GTW: modem.com4: Cannot understand SIMPIN response: ERROR
, will wait for a while...
10013 [Thread-1] WARN org.smslib  - GTW: modem.com4: Cannot understand SIMPIN response: ERROR
, will wait for a while...
----------------------------------------------------------------------------------------------
(短信猫链接无问题,用短信猫提供的发短信软件可以成功发短信) 
我把短信猫盘里面的demo程序也贴上来大家帮忙看看,我都按照demo的做了
这个特别着急,老板等着要东西,各位帮忙看看,帮忙顶顶,谢谢了

---------------------------demo程序-----------------------------------------
具体的操作步骤如下:
1、把smslib-3.3.0b2.jar、comm.jar与log4j-1.2.11.jar,放入到工程的lib中;
2、把javax.comm.properties放到%JAVA_HOME%/jre/lib下;
3、把win32com.dll放到%JAVA_HOME%/jre/bin下;
4  把comm.jar放到%JAVA_HOME%/jre/ext下
注意:路径放错,调用起来就会报错;JDK的版本,用的版本是jdk-1_5_0_04。

这样配置好了,运行下面的代码就可以发短息了,具体的代码如下:

package com.alonely.notecat;
import org.smslib.IOutboundMessageNotification;
import org.smslib.Outbou、ndMessage;
import org.smslib.Service;
import org.smslib.Message.MessageEncodings;
import org.smslib.modem.SerialModemGateway;

public class SendMessage {
 public class OutboundNotification implements IOutboundMessageNotification {
  public void process(String gatewayId, OutboundMessage msg) {
   System.out.println("Outbound handler called from Gateway: "
     + gatewayId);
   System.out.println(msg);
  }
 }
 @SuppressWarnings("deprecation")
 public void sendSMS(String mobilePhones, String content) {
  Service srv;
  OutboundMessage msg;
  OutboundNotification outboundNotification = new OutboundNotification();
  srv = new Service();
  SerialModemGateway gateway = new SerialModemGateway("modem.com3",
    "COM3", 9600, "wavecom", ""); //设置端口与波特率
  gateway.setInbound(true);
  gateway.setOutbound(true);
  gateway.setSimPin("0000");
  gateway.setOutboundNotification(outboundNotification);
  srv.addGateway(gateway);
  System.out.println("初始化成功,准备开启服务");
  try {
   srv.startService();
   System.out.println("服务启动成功");
   String[] phones = mobilePhones.split(",");
   for (int i = 0; i < phones.length; i++) {
    msg = new OutboundMessage(phones[i], content);
    msg.setEncoding(MessageEncodings.ENCUCS2); // 中文
    srv.sendMessage(msg);
   }
   srv.stopService();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 public static void main(String[] args) {
  SendMessage sendMessage = new SendMessage();
  sendMessage.sendSMS("您要发送的手机号", "您要发送的内容!");
 }

代码贴完了,下面告诉遇到的常见问题,并且是如何解决的:
1、如果报了如下错误: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger 
那是因为没有把log4j-1.2.13.jar倒入到工程中。
2、如果报了如下错误: org.smslib.GatewayException: Comm library exception: java.lang.RuntimeException:javax.comm.NoSuchPortException
 
说明你的Eclipse选择的JDK有问题,反正我用的是jdk-1_5_0_04版本,没有任何问题;我在MyEclipse5.5下用它自带的JDK就有问题,这点请大家注意。
---------------------------demo程序-----------------------------------------

11 个解决方案

#1


问下 你解决了吗?我和你遇到了一样的错误

#2


问题同上

#3


 一样啊。怎么搞的。。

#4


遇到同样的问题,有没有解决的 
可以qq沟通1508353898

#5


我跟你用的好像是一家的设备。
对方告诉我要么卡有问题,要么信号不好,要么设备坏了。
我排除了前两个可能性,然后对方让我把设备发回去了,对方要检测。

#6


tong qiu

#7


遇到一样的问题,不知该如何解决。

#8


我刚才也碰到这个问题,后来解决了。

我是使用myeclipse开发的,开始的时候我只在 jdk里面加了相应的配置

2、把javax.comm.properties放到%JAVA_HOME%/jre/lib下;
3、把win32com.dll放到%JAVA_HOME%/jre/bin下;
4 把comm.jar放到%JAVA_HOME%/jre/ext下

报错。

后来我在myeclipse内置的jdk里面加上了上面的配置,也就没问题了。

#9


虽说现在基本上没有人使用这个短信设备了,但是公司要用,没办法使用了,出现了和楼主相同的情况,请问楼主是如何进行解决的呢?

#10


不错啊真的不错啊

#11


有用,不错!!

#1


问下 你解决了吗?我和你遇到了一样的错误

#2


问题同上

#3


 一样啊。怎么搞的。。

#4


遇到同样的问题,有没有解决的 
可以qq沟通1508353898

#5


我跟你用的好像是一家的设备。
对方告诉我要么卡有问题,要么信号不好,要么设备坏了。
我排除了前两个可能性,然后对方让我把设备发回去了,对方要检测。

#6


tong qiu

#7


遇到一样的问题,不知该如何解决。

#8


我刚才也碰到这个问题,后来解决了。

我是使用myeclipse开发的,开始的时候我只在 jdk里面加了相应的配置

2、把javax.comm.properties放到%JAVA_HOME%/jre/lib下;
3、把win32com.dll放到%JAVA_HOME%/jre/bin下;
4 把comm.jar放到%JAVA_HOME%/jre/ext下

报错。

后来我在myeclipse内置的jdk里面加上了上面的配置,也就没问题了。

#9


虽说现在基本上没有人使用这个短信设备了,但是公司要用,没办法使用了,出现了和楼主相同的情况,请问楼主是如何进行解决的呢?

#10


不错啊真的不错啊

#11


有用,不错!!