- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
希望大家都能安然度过这次疫情。
我收到一条来自 SMSC 的短信,我想向他发送一条 Deliver_sm_resp。
我尝试这样实现:
@Override
public PduResponse firePduRequestReceived(PduRequest pduRequest) {
logger.warn("***** BIND RECEIVER *****");
DeliverSm sms = null;
if ((pduRequest != null) && pduRequest.getName().equals("deliver_sm")) {
sms = (DeliverSm) pduRequest;
}
if ((pduRequest != null) && pduRequest.getName().equals("enquire_link")) {
return pduRequest.createResponse();
}
if ( sms !=null && (int)sms.getDataCoding() == 0 ) {
//message content is English
logger.warn("***** New Message Received *****");
logger.warn("From: " + sms.getSourceAddress().getAddress());
logger.warn("To: " + sms.getDestAddress().getAddress());
logger.warn("Content: " + new String(sms.getShortMessage()));
DeliverSm deliver = new DeliverSm();
deliver.setSourceAddress(sms.getSourceAddress());
deliver.setDestAddress(sms.getDestAddress());
deliver.setDataCoding(sms.getDataCoding());
try {
deliver.setShortMessage(sms.getShortMessage());
} catch (SmppInvalidArgumentException e) {
e.printStackTrace();
}
deliver.setSequenceNumber(sms.getSequenceNumber());
//deliver.setCommandLength(sms.getCommandLength());
deliver.setCommandStatus(sms.getCommandStatus());
runDeliverSmRespSmppSessionHandler(session, deliver);
}
return super.firePduRequestReceived(pduRequest);
}
我异步调用 runDeliverSmRespSmppSessionHandler,如下所示:
public class RunDeliverSmRespSmppSessionHandler extends DefaultSmppSessionHandler implements Runnable {
.
.
.
public void run() {
logger.info("welcome to deliver TestSmppSessionHandler RUN");
sendRequestPdu(session, deliver);
}
private void sendRequestPdu(SmppSession session, DeliverSm deliver) {
logger.info("welcome to deliver TestSmppSessionHandler sendRequestPdu");
try {
WindowFuture<Integer,PduRequest,PduResponse> future = session.sendRequestPdu(deliver, 10000, false);
if (!future.await()) {
logger.error("Failed to receive deliver_sm_resp within specified time");
} else if (future.isSuccess()) {
DeliverSmResp deliverSmResp = (DeliverSmResp)future.getResponse();
logger.info("deliver_sm_resp: commandStatus [" + deliverSmResp.getCommandStatus() + "=" + deliverSmResp.getResultMessage() + "]");
} else {
logger.error("Failed to properly receive deliver_sm_resp: " + future.getCause());
}
} catch (Exception e) {
logger.error("message catched in smDeliver : "+e.getMessage()+" get stackTrace : "+e.getStackTrace());
}
}
不幸的是,我在 sendRequestPdu() 中遇到了这个错误:
04-04-2020 23:15:41 ERROR TestSmppSessionHandler:61 - Failed to receive deliver_sm_resp within specified time
04-04-2020 23:16:06 WARN EnquireLinkTask:37 - Enquire link failed, executing reconnect:
com.cloudhopper.smpp.type.SmppTimeoutException: Unable to accept offer within [10000 ms] (window full)
at com.cloudhopper.smpp.impl.DefaultSmppSession.sendRequestPdu(DefaultSmppSession.java:508)
at com.cloudhopper.smpp.impl.DefaultSmppSession.sendRequestAndGetResponse(DefaultSmppSession.java:464)
感谢您的帮助
最佳答案
要发送回复以告知 SMSC 您收到了 SMS,您必须使用
private void sendResponsePdu(SmppSession session, DeliverSmResp deliver) {
logger.info("welcome to deliver TestSmppSessionHandlerV2 sendRequestPdu");
try {
session.sendResponsePdu(deliver);
logger.info("message deliver response sent successfully !!!");
} catch (Exception e) {
logger.error("message catched in smDeliver : "+e.getMessage()+" get stackTrace : "+e.getStackTrace());
}
关于DeliverSmResp Deliver
,您可以这样初始化:
DeliverSmResp deliver_sm_resp = new DeliverSmResp();
deliver_sm_resp.setCommandLength(17);
deliver_sm_resp.setCommandStatus(sms.getCommandStatus());
deliver_sm_resp.setSequenceNumber(sms.getSequenceNumber());
deliver_sm_resp.setMessageId("");
关于java - 如何使用cloudhopper异步发送deliverS Resp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61034979/
以下两种电子邮件调用方法有什么区别?一个有交付而另一个没有。 mail(:to => 'test@gmail.com', :subject => "Test") do |format| for
example.com 上有一个邮件处理脚本,用于处理发送到以下地址的电子邮件: account1234@example.com 邮件服务器有一个包罗万象的 example.com 并将电子邮件处理到
Mandrill不提供任何支持。我给他们寄了许多票,但仍然没有答案。我希望这里有人能帮助我。 我正在通过SMTP发送电子邮件。我一开始可以发送几千封电子邮件,但是几千封之后,没有电子邮件到达任何邮箱。
我在 firebase 消息传递中创建了一个设备组 - Documentation here并取回 notification_key 现在,当我使用 notification_key 通过 Fireb
我在 firebase 消息传递中创建了一个设备组 - Documentation here并取回 notification_key 现在,当我使用 notification_key 通过 Fireb
在我的 C++ 应用程序中,我有一个执行某些工作的后台线程,将结果放入堆分配的内存块中,然后调用 PostMessage将结果传递给主线程。 通常,当 Window 收到消息时,它会处理结果,然后在
我正在开发一个在 iPhone 和 Apple Watch 之间共享数据的应用程序,使用 WCSession 方法 sendMessage:replyHandler:errorHandler: 执行该
我有一个从AndDev网站获得的FileBrowser Activity 。问题是它停止工作并且崩溃了,这是logcat: 07-05 11:20:35.803: ERROR/AndroidRunti
我正在尝试选择我的图库的图片,我可以访问我的图库,但单击该图像后应用程序崩溃了。 我尝试调试它,但它在该行的 onActivityResult 方法中崩溃了 InputStream openInput
我正在使用 deliver 提交申请以使用 faSTLane 进行审核... 我遇到下一个错误: Multiple commands produce '/Users/admin/Library/Dev
我遇到了一个问题。 我正在开发一个使用 GCM 推送通知功能的应用程序。在调试时,所有消息都被传送(有/没有一些不同的延迟)到设备。但是,当我从 PC 上拔下设备或禁用 Debug模式时,GCM 消息
在回答这个问题时,请考虑到我是 Android 新手这一事实。 在我的应用程序中,Activity A 显式调用 Activity B,后者必须为其提供一些来自用户的数据(即日期)。 Activity
我尝试使用 Amazon SES 和 Java AWS SDK 发送电子邮件,并且成功了。我希望能够(稍后)检查交付是否成功。如果最终的邮件服务器接受邮件进行投递,我将其定义为成功。 我看到当你发送邮
我正在使用 Xamarin 开发 Apple Watch 应用。我正在尝试使用 SendMessage 函数从我的 watch 向 iPhone 发送消息。当我这样做时,我收到了 out 错误消息 p
我有一个 LoginActivity(用户登录)。它基本上是它自己的 Activity 主题,就像一个对话框(看起来好像一个对话框)。它出现在 SherlockFragmentActivity 上。我
我正在尝试在 4.1.1 中调试此邮件错误并且无法弄清楚如何获取有关要查看的内容的更多信息: TypeError (no implicit conversion of nil into String)
我是 android 的新手,现在正在学习内容提供程序。 试着掌握它的基本窍门,但遇到一个不太确定如何解决的错误。 当一个按钮被点击时这个函数被调用 public void getContact(Vi
我正在将应用内结算集成到我的非托管产品应用程序中。我已经在市场上配置了我的应用程序以实现 BILLING 权限。我已经发布了我的应用程序的开发版本所期望的产品 ID。到目前为止,我一直在使用测试产品,
if (preise.kond_basis_preis > 0,preise.kond_basis_preis, a.bruttopreis) as bruttopreis, preise.kond_
我一直在试验时间命令(/usr/bin/time)。我让时间命令运行如下 /usr/bin/time -v sleep 30 在另一个终端上,我执行了一个ps -a 并找到了sleep 进程的PID。
我是一名优秀的程序员,十分优秀!