Пример #1
0
        /// <summary>
        /// 根据 Key 查询消息
        /// </summary>
        /// <param name="mKey"></param>
        /// <returns>返回第一个msg ID</returns>
        private string GetMessageByKey(string mKey)
        {
            try
            {
                IClientProfile            profile    = DefaultProfile.GetProfile(Ons_RegionID, Ons_AccessKey, Ons_SecretKey);
                DefaultAcsClient          iAcsClient = new DefaultAcsClient(profile);
                OnsMessageGetByKeyRequest request    = new OnsMessageGetByKeyRequest();

                request.OnsRegionId  = Ons_RegionID;
                request.PreventCache = GetCurrentTimeMillis();
                request.AcceptFormat = FormatType.JSON;
                request.Topic        = TopicID;
                request.Key          = mKey;

                OnsMessageGetByKeyResponse response = iAcsClient.GetAcsResponse(request);

                if (response.Data == null || response.Data.Count == 0)
                {
                    return(null);
                }
                return(response.Data[0].MsgId);
            }
            catch (ServerException)
            {
                throw;
            }
            catch (ClientException ex)
            {
                if (ex.ErrorCode == ErrorCode_BIZ_NO_MESSAGE)
                {
                    return(null);
                }
                throw;
            }
        }
Пример #2
0
        public static OnsMessageGetByKeyResponse Unmarshall(UnmarshallerContext context)
        {
            OnsMessageGetByKeyResponse onsMessageGetByKeyResponse = new OnsMessageGetByKeyResponse();

            onsMessageGetByKeyResponse.HttpResponse = context.HttpResponse;
            onsMessageGetByKeyResponse.RequestId    = context.StringValue("OnsMessageGetByKey.RequestId");
            onsMessageGetByKeyResponse.HelpUrl      = context.StringValue("OnsMessageGetByKey.HelpUrl");

            List <OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo> onsMessageGetByKeyResponse_data = new List <OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo>();

            for (int i = 0; i < context.Length("OnsMessageGetByKey.Data.Length"); i++)
            {
                OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo onsRestMessageDo = new OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo();
                onsRestMessageDo.Topic          = context.StringValue("OnsMessageGetByKey.Data[" + i + "].Topic");
                onsRestMessageDo.Flag           = context.IntegerValue("OnsMessageGetByKey.Data[" + i + "].Flag");
                onsRestMessageDo.Body           = context.StringValue("OnsMessageGetByKey.Data[" + i + "].Body");
                onsRestMessageDo.StoreSize      = context.IntegerValue("OnsMessageGetByKey.Data[" + i + "].StoreSize");
                onsRestMessageDo.BornTimestamp  = context.LongValue("OnsMessageGetByKey.Data[" + i + "].BornTimestamp");
                onsRestMessageDo.BornHost       = context.StringValue("OnsMessageGetByKey.Data[" + i + "].BornHost");
                onsRestMessageDo.StoreTimestamp = context.LongValue("OnsMessageGetByKey.Data[" + i + "].StoreTimestamp");
                onsRestMessageDo.StoreHost      = context.StringValue("OnsMessageGetByKey.Data[" + i + "].StoreHost");
                onsRestMessageDo.MsgId          = context.StringValue("OnsMessageGetByKey.Data[" + i + "].MsgId");
                onsRestMessageDo.OffsetId       = context.StringValue("OnsMessageGetByKey.Data[" + i + "].OffsetId");
                onsRestMessageDo.BodyCRC        = context.IntegerValue("OnsMessageGetByKey.Data[" + i + "].BodyCRC");
                onsRestMessageDo.ReconsumeTimes = context.IntegerValue("OnsMessageGetByKey.Data[" + i + "].ReconsumeTimes");
                onsRestMessageDo.InstanceId     = context.StringValue("OnsMessageGetByKey.Data[" + i + "].InstanceId");

                List <OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo.OnsMessageGetByKey_MessageProperty> onsRestMessageDo_propertyList = new List <OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo.OnsMessageGetByKey_MessageProperty>();
                for (int j = 0; j < context.Length("OnsMessageGetByKey.Data[" + i + "].PropertyList.Length"); j++)
                {
                    OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo.OnsMessageGetByKey_MessageProperty messageProperty = new OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo.OnsMessageGetByKey_MessageProperty();
                    messageProperty.Name   = context.StringValue("OnsMessageGetByKey.Data[" + i + "].PropertyList[" + j + "].Name");
                    messageProperty._Value = context.StringValue("OnsMessageGetByKey.Data[" + i + "].PropertyList[" + j + "].Value");

                    onsRestMessageDo_propertyList.Add(messageProperty);
                }
                onsRestMessageDo.PropertyList = onsRestMessageDo_propertyList;

                onsMessageGetByKeyResponse_data.Add(onsRestMessageDo);
            }
            onsMessageGetByKeyResponse.Data = onsMessageGetByKeyResponse_data;

            return(onsMessageGetByKeyResponse);
        }