public List <Message> ConsumeMessage(uint batchSize) { var request = new ConsumeMessageRequest(this._topicName, this._consumer, this._messageTag); request.IntanceId = this._instanceId; request.BatchSize = batchSize; var marshaller = ConsumeMessageRequestMarshaller.Instance; var unmarshaller = ConsumeMessageResponseUnmarshaller.Instance; ConsumeMessageResponse result = _serviceClient.Invoke <ConsumeMessageRequest, ConsumeMessageResponse>(request, marshaller, unmarshaller); return(result.Messages); }
public List <Message> ConsumeMessageOrderly(uint batchSize, uint waitSeconds) { var request = new ConsumeMessageRequest(this._topicName, this._consumer, this._messageTag); request.IntanceId = this._instanceId; request.BatchSize = batchSize; request.WaitSeconds = waitSeconds; request.Trasaction = "order"; var marshaller = ConsumeMessageRequestMarshaller.Instance; var unmarshaller = ConsumeMessageResponseUnmarshaller.Instance; ConsumeMessageResponse result = _serviceClient.Invoke <ConsumeMessageRequest, ConsumeMessageResponse>(request, marshaller, unmarshaller); return(result.Messages); }
public override WebServiceResponse Unmarshall(XmlUnmarshallerContext context) { System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(context.ResponseStream); ConsumeMessageResponse consumeMessageResponse = new ConsumeMessageResponse(); Message message = null; while (reader.Read()) { switch (reader.NodeType) { case System.Xml.XmlNodeType.Element: switch (reader.LocalName) { case Constants.XML_ROOT_MESSAGE: message = new Message(); break; case Constants.XML_ELEMENT_MESSAGE_ID: reader.Read(); message.Id = reader.Value; break; case Constants.XML_ELEMENT_RECEIPT_HANDLE: reader.Read(); message.ReceiptHandle = reader.Value; break; case Constants.XML_ELEMENT_MESSAGE_BODY_MD5: reader.Read(); message.BodyMD5 = reader.Value; break; case Constants.XML_ELEMENT_MESSAGE_BODY: reader.Read(); message.Body = reader.Value; break; case Constants.XML_ELEMENT_PUBLISH_TIME: reader.Read(); message.PublishTime = long.Parse(reader.Value); break; case Constants.XML_ELEMENT_NEXT_CONSUME_TIME: reader.Read(); message.NextConsumeTime = long.Parse(reader.Value); break; case Constants.XML_ELEMENT_FIRST_CONSUME_TIME: reader.Read(); message.FirstConsumeTime = long.Parse(reader.Value); break; case Constants.XML_ELEMENT_CONSUMED_TIMES: reader.Read(); message.ConsumedTimes = uint.Parse(reader.Value); break; case Constants.XML_ELEMENT_MESSAGE_TAG: reader.Read(); message.MessageTag = reader.Value; break; case Constants.XML_ELEMENT_MESSAGE_PROPERTIES: reader.Read(); AliyunSDKUtils.StringToDict(reader.Value, message.Properties); break; } break; case System.Xml.XmlNodeType.EndElement: if (reader.LocalName == Constants.XML_ROOT_MESSAGE) { consumeMessageResponse.Messages.Add(message); } break; } } reader.Close(); return(consumeMessageResponse); }