0
Je suppose que vous pouvez utiliser un XmlReader pour lire l'enveloppe à partir d'un XmlDocument. Est-ce que quelqu'un a un bon exemple comment? Je veux simplement extraire le texte entier de SOAP envoyé dans une variable de chaîne afin que nous puissions l'enregistrer en cas d'erreur de requête.Lecture de XML/SOAP à partir d'un XMLDocument
méthodes Exemple:
protected virtual HttpWebRequest CreateWebRequest(string endPoint, Int32 contentLength)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_requestURI);
request.Method = "POST";
request.ContentLength = contentLength;
request.ContentType = "text/xml;charset=UTF-8";
return request;
}
public Response.Response SendRequest()
{
XmlDocument doc = CreateRequestXML();
// Determins if API call needs to use a session based URI
string requestURI = UseAuthURI ? _requestURIAuthBased + sID : _requestURI;
byte[] data = XmlUtil.DocumentToBytes(doc);
// Create the atual Request instance
HttpWebRequest request = CreateWebRequest(requestURI, data.Length);
request.ContentLength = data.Length;
request.KeepAlive = false;
request.Timeout = 30000;
// Send the Request
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(data, 0, data.Length);
}
// get response
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusCode != HttpStatusCode.OK)
{
string message = String.Format("POST failed. Received HTTP {0}", response.StatusCode);
throw new Exception(message);
}
using (Stream responseStream = response.GetResponseStream())
{
using (XmlReader reader = XmlReader.Create(responseStream))
{
return CreateResponse(reader);
}
}
}
}
Quelle est la situation? Service ASMX? WCF? Comment allez-vous mettre la main sur le XML? –
mise à jour post avec l'exemple – PositiveGuy
Je suis confus. Qu'est-ce que tu veux faire? Juste se connecter à un fichier? Utilisez XmlDocument.Save ou .WriteTo. –