解决华为SGIP短信状态报告与下行短信关联问题


    今天用华为的SGIP API包smproxy.jar测试联通短信收发,发现短信的下发记录与短信状态报告没有一个关联的msgid,从网上搜了下,发现之前有人从论坛上问过这个问题:“各位大侠帮帮忙!!联通状态报告与下发的短信关联的问题”http://bbs.csdn.net/topics/350021115

 

   根据论坛最后一个回复我没实现,不过根据他的启发,我换了种形式实现了。具体方法如下:

    1. 下发表

//下发表msgid=src_node_Id+time_Stamp+sequence_Id
String msgid= Config.NodeID+ String.valueOf(resp.getTimeStamp())+ String.valueOf(resp.getSequenceId());


 

   2.   状态报告表

String submitSequenceNumber =TypeConvert.byte2NumberStr(getSubmitSequenceNumberBytes(rptMsg.getBytes()));//状态报告msgid
  submitSequenceNumber=submitSequenceNumber.replace(" ", "");//替换空格




 

 

//截取SubmitSequenceNumber数组

public byte[] getSubmitSequenceNumberBytes(byte[] jdField_buf_of_type_ArrayOfByte)
   {
     byte[] temp = new byte[12];
     System.arraycopy(jdField_buf_of_type_ArrayOfByte, 12, temp, 0, 12);
     return temp;
   }


 

以上就是下发表的msgid与状态报告表的submitSequenceNumber可以进行唯一关联了!解决ok!

你可能感兴趣的:(解决华为SGIP短信状态报告与下行短信关联问题)