J'ai suivi le lien this, pour envoyer des données XML à la file d'attente de bus de service avec succès à l'aide du bus de service RESTAPI à partir du client API et du facteur de pos.comment envoyer/recevoir des données XML à la file d'attente du bus de service en utilisant l'API REST du bus de service en C#?
Ce sont les données XML que je veux envoyer à la file d'attente:
<workItem>
<date>1408566000</date>
<duration>40</duration>
<desciption>test</desciption>
</workItem>
Ceci est le code C# je l'ai écrit, pour envoyer des données XML à la file d'attente. Mais chaque fois que j'essaie de recevoir le message de la file d'attente, j'ai eu les problèmes de désérialisation.
public static async void sendMessagesToQueueUsingRESTAPI(string SASToken)
{
try
{
var url = "https://<namespace>.servicebus.windows.net/queue/messages";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(envelope);
//request.ContentType = "application/atom+xml;type=entry;charset=utf-8";
request.ContentType = "text/xml; encoding='utf-8'";
//request.Headers.Add("Content-Type", "application/atom+xml;type=entry;charset=utf-8");
request.Headers.Add("Authorization", SASToken);
//request.ContentType = "application/json";
request.ContentLength = bytes.Length;
request.Method = "POST";
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.Created)
{
Stream responseStream = response.GetResponseStream();
string responseStr = new StreamReader(responseStream).ReadToEnd();
}
}
catch(Exception ex)
{
}
Console.ReadLine();
}
public static void receiveMessagesFromQueue()
{
//Receive messages from the queues
var client = QueueClient.CreateFromConnectionString(nsConnectionString, queuePath);
client.OnMessage(message =>
{
Console.WriteLine(String.Format("Receive Message body: {0}", message.GetBody<string>()));
Console.WriteLine(String.Format("Receive Message id: {0}", message.MessageId));
});
Console.WriteLine("Press ENTER to exit program");
Console.ReadLine();
}
Pouvez-vous s'il vous plaît me dire comment envoyer/recevoir des données XML à la file d'attente de bus de service en utilisant le service API de repos de bus en C#?
"J'ai rencontré les problèmes de désérialisation." C'est marrant, je n'en vois pas. Peut-être que vous devriez [modifier] et ajouter des détails sur ce qui s'est passé. – Will