Sms 我需要在logica SMPP异步模式下响应messageID

Sms 我需要在logica SMPP异步模式下响应messageID,sms,smpp,Sms,Smpp,在logica smpp中,我需要以异步模式存储响应消息ID if (sb.asynchronous) { System.out.println("Submit request " + request.debugString()); sb.getSession().submit(request); //mess

在logica smpp中,我需要以异步模式存储响应消息ID

if (sb.asynchronous)     
 {                                  
   System.out.println("Submit request " + request.debugString());
                                                sb.getSession().submit(request);

  //messageId = response.getMessageId();
 } else {

   response = sb.getSession().submit(request);

   messageId = response.getMessageId().trim();
  }

在上述代码中。如何在异步模式下获取messageID

您可以通过使用
SubmitSM
的对象调用
getSmDefaultMsgId()
来获取消息id。如下图所示:

if (sb.asynchronous)     
 {                                  
   System.out.println("Submit request " + request.debugString());
                                                sb.getSession().submit(request);

  //messageId = response.getMessageId();
 } else {

   response = sb.getSession().submit(request);

   messageId = response.getMessageId().trim();
  }
  if (sb.asynchronous)     
 {                                  
   System.out.println("Submit request " + request.debugString());
                                                sb.getSession().submit(request);

  messageId = request.getSmDefaultMsgId();
 } 
有关更多文档,请阅读


谢谢。如果有帮助,请告诉我

在异步模式下,我得到的总是messageID=0。没有其他选项,因此,我需要使用“序列号”在消息及其响应之间保持关联这在消息和响应中都有。但是您如何解释呢?我无法找到方法,除非您创建自己的自定义类,扩展SubmitSMResp和SubmitSM,并在这两种情况下为id添加一个变量,这将使每个req和响应都特定。我知道的是数据类中有“DFLT_MSGID”静态变量。此变量告诉您消息id。因此您也可以尝试使用此变量作为messageId=Data.DFLT\u MSGID;试试看。