- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 SMSlib 通过串行 gsm 调制解调器发送消息。我需要使用同一个应用程序多次发送 SMS。我毫无问题地运行了 SMSlib 示例,它运行良好。但是当我尝试在 Web 服务下使用相同的代码时,它只能使用一次。第二次尝试使用时出现以下错误。我使用了 python 客户端。
C:\Users\k4n\Desktop\web>python SendSMS.py
No handlers could be found for logger "suds.client"
Traceback (most recent call last):
File "SendSMS.py", line 16, in <module>
result = client.doIt()
File "SendSMS.py", line 8, in doIt
return self.client.service.doIt("Testing")
File "build\bdist.win32\egg\suds\client.py", line 542, in __call__
File "build\bdist.win32\egg\suds\client.py", line 602, in invoke
File "build\bdist.win32\egg\suds\client.py", line 649, in send
File "build\bdist.win32\egg\suds\client.py", line 702, in failed
File "build\bdist.win32\egg\suds\bindings\binding.py", line 265, in get_fault
suds.WebFault: Server raised fault: 'Comm library exception: java.lang.RuntimeException:
javax.comm.PortInUseException: Port currently owned by org.smslib'
这是网络服务(接口(interface))
package com.k4n.webservice;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
@WebService
@SOAPBinding(style = Style.RPC)
public interface GetURL{
@WebMethod void doIt(String url) throws Exception;
}
网络服务(实现)
package com.k4n.webservice;
import java.io.IOException;
import javax.jws.WebService;
import org.smslib.AGateway;
import org.smslib.GatewayException;
import org.smslib.IOutboundMessageNotification;
import org.smslib.Library;
import org.smslib.OutboundMessage;
import org.smslib.SMSLibException;
import org.smslib.Service;
import org.smslib.TimeoutException;
import org.smslib.modem.SerialModemGateway;
import examples.modem.SendMessage;
@WebService(endpointInterface = "com.k4n.webservice.GetURL")
public class GetURLImpl implements GetURL {
public void doIt(String url) throws Exception {
OutboundNotification outboundNotification = new OutboundNotification();
System.out.println("Example: Send message from a serial gsm modem.");
System.out.println(Library.getLibraryDescription());
System.out.println("Version: " + Library.getLibraryVersion());
SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM12", 115200, "Huawei", "E303");
gateway.setInbound(true);
gateway.setOutbound(true);
gateway.setSimPin("0000");
gateway.setSmscNumber("+9477000003");
Service.getInstance().setOutboundMessageNotification(outboundNotification);
Service.getInstance().addGateway(gateway);
Service.getInstance().startService();
System.out.println();
System.out.println("Modem Information:");
System.out.println(" Manufacturer: " + gateway.getManufacturer());
System.out.println(" Model: " + gateway.getModel());
System.out.println(" Serial No: " + gateway.getSerialNo());
System.out.println(" SIM IMSI: " + gateway.getImsi());
System.out.println(" Signal Level: " + gateway.getSignalLevel() + " dBm");
System.out.println(" Battery Level: " + gateway.getBatteryLevel() + "%");
System.out.println();
Service.getInstance().createGroup("mygroup");
Service.getInstance().addToGroup("mygroup", "xxxxxxxxxx");
Service.getInstance().addToGroup("mygroup", "xxxxxxxxxx");
String message1 = url;
OutboundMessage msg = new OutboundMessage("mygroup", message1);
Service.getInstance().sendMessage(msg);
System.out.println(msg);
Service.getInstance().stopService();
}
public class OutboundNotification implements IOutboundMessageNotification {
public void process(AGateway gateway, OutboundMessage msg) {
System.out.println("Outbound handler called from Gateway: " + gateway.getGatewayId());
System.out.println(msg);
}
}
}
端点发布者
package com.k4n.webservice;
import javax.xml.ws.Endpoint;
import com.k4n.webservice.GetURLImpl;
//Endpoint publisher
public class GetURLPublisher{
public static void main(String[] args) {
Endpoint.publish("http://localhost:9999/ws/hello", new GetURLImpl());
System.out.println("Now the web service is up...");
}
}
这是第二次尝试发送 SMS 时输出的 SMSlib。
Example: Send message from a serial gsm modem.
SMSLib: A Java API library for sending and receiving SMS via a GSM modem or other supported gateways.
This software is distributed under the terms of the Apache v2.0 License.
Web Site: http://smslib.org
Version: 3.5.0
[pool-1-thread-1] INFO smslib - Queue directory not defined. Queued messages will not be saved to filesystem.
[Thread-16] INFO smslib - GTW: modem.com1: Starting gateway, using Huawei (Generic) AT Handler.
[Thread-16] INFO smslib - GTW: modem.com1: Opening: COM12 @115200
[Thread-15] INFO smslib - GTW: modem.com1: Starting gateway, using Huawei (Generic) AT Handler.
[Thread-15] INFO smslib - GTW: modem.com1: Opening: COM12 @115200
[Thread-15] INFO smslib - GTW: modem.com1: Closing: COM12 @115200
SEND :(27)
[pool-1-thread-1] INFO smslib - GTW: modem.com1: Stopping gateway...
[pool-1-thread-1] INFO smslib - GTW: modem.com1: Closing: COM12 @115200
[pool-1-thread-1] INFO smslib - GTW: modem.com1: Gateway stopped.
[pool-1-thread-1] INFO smslib - GTW: modem.com1: Stopping gateway...
SEND :+++
[pool-1-thread-1] INFO smslib - GTW: modem.com1: Closing: COM12 @115200
[Thread-16] INFO smslib - GTW: modem.com1: Closing: COM12 @115200
[pool-1-thread-1] INFO smslib - GTW: modem.com1: Gateway stopped.
为什么会出现此错误?我该如何解决这个问题?
最佳答案
得到答案
停止服务后移除网关
String message1 = url;
OutboundMessage msg = new OutboundMessage("mygroup", message1);
Service.getInstance().sendMessage(msg);
System.out.println(msg);
Service.getInstance().stopService();
Service.getInstance().removeGateway(gateway);//remove the gateway
这对我有用。
关于java - 带网络服务的 SMSlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27740807/
我正在使用 SMSlib 通过串行 gsm 调制解调器发送消息。我需要使用同一个应用程序多次发送 SMS。我毫无问题地运行了 SMSlib 示例,它运行良好。但是当我尝试在 Web 服务下使用相同的代
我正在尝试使用 D-Link USB 调制解调器在计算机上接收短信。我已经在这个 link 上找到了我的问题的解决方案但现在我面临的问题是我收到相同的消息 3 次,就像这样 New Inbound m
我正在尝试使用 smslib 发送短信,但它没有发送消息,有人可以指导我吗? 这是我的代码: import org.smslib.AGateway; import org.smslib.IOutbou
我正在尝试创建Web应用程序以在JSP中通过gsm调制解调器发送短信,首先我将目标手机号码和短信文本放入url中,并通过request.getparameter获取,并且发送的第一条消息没有问题,但是
我不知道如何在 smslib 中实现队列消息传递,我收到一条新短信并存储在数据库表中,我做了一些逻辑,然后生成一条新短信,我已经归档了这个-同步方式,但我不知道如何以异步方式做到这一点?有人可以指导我
我在 java 应用程序中使用 SMSLib 来发送消息,我使用 usb 调制解调器 作为网关来实现这一点 并将消息发送到任何手机,这里的要点是,当我收到消息时,它会将发送者显示为 sim 号码(us
我正在使用 Simado GDT11 调制解调器和 Prolific USB 转串口驱动程序。新连接出现在我的设备管理器 > 端口列表中。但是,我无法使用 smslib 发送消息。 我正在使用 sms
我正在使用 SMSLib 从指定网关读取消息,用于读取消息的代码片段是: List msgList = new ArrayList(); Service.getInstance().r
我想从调制解调器读取 SMS 的文本和发件人,以便我可以适本地操作它,然后删除读取和使用的消息。这是代码的一部分: msgList = new ArrayList(); Service.getInst
我需要在 MySQL 中存储 SMS(当它们到达 GSM 调制解调器时)。 我已阅读文档,但它说要使用 smsserver 和 conffile。然后我读到我应该使用 database.java。 有
我尝试这样做,但有时无法正常工作..我使用了 while 循环来循环代码。我可以为此添加一些监听器吗?任何人都可以给我正确的答案吗?需要实时获得响应 while (true) {
我正在使用 SMSlib 向手机号码发送短信。但出现以下错误。我什至更换了加密狗,但没有成功。 org.smslib.TimeoutException: No response from device
我正在使用 SMSLib 通过我的三星 gsm 调制解调器发送短信。我创建了一个单独的线程,每 20 秒从服务器获取一次消息如果它收到消息,它会调用 SendMessage。这是 SendMessag
我正在尝试将我的手机用作 GSM 调制解调器。我使用 SMSLib 通过此调制解调器发送和接收 SMS。问题是,当我的手机(GSM 调制解调器)收到一条短信时,我没有使用 SMSLib 进行通知。但是
我想使用 GSM 调制解调器发送短信,所以我使用 SMSlib API 来发送它。但我收到如下错误。请帮我。我正在 ubuntu 32 位 Linux 上工作。 import org.smslib.A
以下是我对 ReadMessages 类所做的一些更改,但新消息通知仍然需要 30-45 秒。 Service.getInstance().S.CNMI_EMULATOR_INTERVAL = 2;
我正在尝试使用 smslib 发送短信。它在 Windows 上运行良好,但现在我需要让它在 ubuntu 11.10 下运行。所以我从这里为 64 位操作系统安装了 rxtx http://www.
我创建了一个 REST Web 服务来使用 HSDPA USB 调制解调器发送短信。我正在 Java 中使用 SMSLib 发送短信。每次调用 Web 服务时,我都会创建网关,启动服务、发送消息、停止
我开发了一个发送 SMS 的应用程序(使用 SMSlib),当我在 netbeans 上执行我的应用程序时,它运行良好并且发送 SMS 没有问题。 使用同一台电脑导出的可运行 Jar,停止发送短信。
我在我的 java 应用程序中使用 SMSLib 来发送 SMS,我将 USB 互联网调制解调器连接到我的 PC,然后确定它是端口号(即 COMx),然后像这样创建一个串行调制解调器网关: 确定端口号
我是一名优秀的程序员,十分优秀!