小弟买了一个短信猫(Wavecom), 按网上使用smslib包发送手机短信,按要求将
把smslib-3.3.0b2.jar和comm.jar,放入工程lib中,javax.comm.properties放到%JAVA_HOME%/jre/lib下,
win32com.dll放到%JAVA_HOME%/jre/bin下, 代码如下:    public void sendSMS(String mobilePhones, String content) throws GatewayException {
        //服务  
        Service srv;
        //输出消息对象  
        OutboundMessage msg;
        //通知类对象  
        //OutboundNotification outboundNotification = new OutboundNotification();
        srv = new Service();
        //网关  
        SerialModemGateway gateway = new SerialModemGateway("modem.com7", "COM7", 9600, "wavecom", "");
        //收件箱  
        gateway.setInbound(true);
        //发件箱  
        gateway.setOutbound(true);
        //ping码   
        gateway.setSimPin("0000");
        srv.addGateway(gateway);
        
        try {
            //服务启动  
            srv.startService();
           
            //发件箱信息  
            msg = new OutboundMessage(mobilePhones, content);
            msg.setEncoding(MessageEncodings.ENCUCS2); // 中文  
            //真正发送消息  
            srv.sendMessage(msg);
            srv.stopService();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
调用后总提示以下错误:
org.smslib.GatewayException: Comm library exception: java.lang.reflect.InvocationTargetException
at org.smslib.modem.SerialModemDriver.connectPort(SerialModemDriver.java:93)
at org.smslib.modem.AModemDriver.connect(AModemDriver.java:106)
at org.smslib.modem.ModemGateway.startGateway(ModemGateway.java:111)
at org.smslib.Service$1Starter.run(Service.java:227)
org.smslib.GatewayException: Comm library exception: java.lang.reflect.InvocationTargetException
at org.smslib.modem.SerialModemDriver.connectPort(SerialModemDriver.java:93)
at org.smslib.modem.AModemDriver.connect(AModemDriver.java:106)
at org.smslib.modem.ModemGateway.startGateway(ModemGateway.java:111)
at org.smslib.Service$1Starter.run(Service.java:227)
不知道什么错误, 大哥指点一下。

解决方案 »

  1.   

    上面说了,拷贝的路径错了。
    把smslib-3.3.0b2.jar和comm.jar,放入工程lib中,javax.comm.properties放到%JAVA_HOME%/jre/lib下,
    win32com.dll放到%JAVA_HOME%/jre/bin下,我的jdk路径: D:\Program Files\Java我没有看清楚, 我所有文件都拷贝到D:\Program Files\Java\jre6下面去了,应该拷贝到
    D:\Program Files\Java\jdk1.6.0_10\jre下面