2016-07-29 60 views
0

我正在尝试创建一个发送和接收SMS的Web应用程序。我已经联系了本地SMS网关,并且连接正在工作。如何在Java中的Web应用程序接收短信?

我使用Jsmpp作为库,我可以通过使用Java SE构建的示例应用程序发送和接收SMS。

现在我需要将此功能迁移到Web应用程序。发送短信应该没问题。但是,我如何添加一个监听器来通过我的web应用程序来收听SMSC?我使用Spring和j2ee。

SMSC不公开一个网络API,并没有发送短信给我暴露的API的能力。他们允许的唯一方法是通过SMPP协议进行通信。

在此先感谢。

回答

0

您是否尝试过链接中的程序 - http://www.java-samples.com/showtutorial.php?tutorialid=22

如果您正在寻找任何Bulk SMS解决方案,您可以使用供应商提供的API,例如https://www.textlocal.in/或任何其他供应商提供的可行的API。

如果你正在寻找建立自己的网关,您可以检查一个解决方案一样http://www.ozekisms.com/

此前有网络供应商提供的网关,您可以自由使用,现在有没有这样的网关,您可以自由使用。

更多链接, https://www.quora.com/How-can-I-send-a-SMS-with-a-Java-code http://www.airtel.in/aes/Global+Business/Global+Voice/Enterprise+Voice+Solutions/Mobility+Solutions/Enterprise+VAS/Bulk+SMS+Solutions

+0

嗨Narendran,谢谢你的回复。我实际上与本地的短信网关达成了协议。问题是他们只支持smpp协议。当他们收到短信时,他们没有办法调用我们的应用程序公开的网址。我会寻找一种方式来从Web应用程序中收听短信。 –

1

接收SMS,你需要去虚拟号码可以是10位虚拟手机号码或短代码。

虚拟号码可以使用带有参数的HTTP URL进行配置作为查询字符串例如: example.com/ receivesms.jsp?从=%数量%& smstext =%文本%的虚拟号码收到

所有的消息都将被触发配置URL,这样就可以进一步处理它(例贮藏回复数据库或发送短信作为回应)在您的脚本根据要求。

虚拟手机号码(双向短信号码)可以用任何短信服务提供商配置。 Spring Edge

0

经过大量的试验和错误,我设法找到问题的解决方案。

我实现它的方式是运行一个独立的Java应用程序作为一个Linux服务,将听SMSC。我使用SMSRouter示例项目(https://smsrouter.org/)作为基础。本示例项目使用Apache camel smpp组件来处理短信发送和接收。

然后,我在Jboss应用程序服务器内部为收件箱和发件箱创建队列,以存储传入和传出的SMS消息。

一旦SMSRouter接收到SMS,它将使用JMS将SMS消息添加到Jboss内部的收件箱队列中,该消息将触发消息驱动的Bean,该Bean将继续监听收件箱队列。

当Web应用程序需要发送SMS时,它会将JMS消息添加到发件箱队列,然后触发正在侦听发件箱队列的SMSRouter。 SMSRouter将使用Apache Camel将SMS发送到SMSC。

相关问题