2016-07-29 61 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。

相關問題