J'essaie de faire quelque chose de vraiment simple en théorie: désérialiser une chaîne à un message, voici le code:Pourquoi une exception XmlException "Fin de fichier inattendue" avec TextMessageEncodingBindingElement?
[TestMethod]
public void EncoderErrorTest()
{
var message = "<s:Envelope xmlns:s=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:a=\"http://www.w3.org/2005/08/addressing\"><s:Header><a:Action s:mustUnderstand=\"1\">http://tempuri.org/IHelloWorldService/SayHello</a:Action></s:Header><s:Body><SayHello xmlns=\"http://tempuri.org/\"><name>Nico</name></SayHello></s:Body></s:Envelope>";
MemoryStream stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
writer.Write(message);
stream.Position = 0;
var soapMessage = new TextMessageEncodingBindingElement().CreateMessageEncoderFactory().Encoder.ReadMessage(stream, 99999);
Assert.IsNotNull(soapMessage);
}
Mais lors de la désérialisation je reçois un XmlException « Fin de fichier inattendue ». Quelque chose ne va pas avec mon code?
Merci d'avance pour vos réponses.
merci, quelle honte -_- –
Autour du flux ainsi. –
'MemoryStream' n'est pas mis en cache, autant que je sache (ce serait plutôt inutile - pourquoi faire un cache mémoire pour un flux sauvegardé en mémoire?), Mais ça ne ferait pas de mal de toute façon. –