У меня проблема с отправкой SOAP-запроса с использованием .NET C #, и сообщение об ошибке -> Сообщение с действием '' не может быть обработано в получателе из-за несовпадения ContractFilter в EndpointDispatcher.Это может быть связано либо с несоответствием контракта (несоответствующие действия между отправителем и получателем), либо с несоответствием привязки / безопасности между отправителем и получателем.Убедитесь, что отправитель и получатель имеют одинаковый контракт и одну и ту же привязку (включая требования безопасности, например, Сообщение, Транспорт, Нет).
XmlDocument doc = new XmlDocument();
string xmlDoc = ReadXML(@"..\..\PayLoad.xml");
doc.LoadXml(xmlDoc);
//Create web request
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://teslaperf.sandbox.operations.dynamics.com/soap/services/TSLAJournalUploadConcurGroup");
req.Headers.Add("Authorization", OAuthHelper.GetAuthenticationHeader(true));
req.ContentType = "text/xml;charset=\"utf-8\"";
req.Accept = "text/xml";
req.Method = "POST";
//
using (Stream stream = req.GetRequestStream())
{
doc.Save(stream);
}
try
{
using (WebResponse response = req.GetResponse())
{
using (StreamReader rd = new StreamReader(response.GetResponseStream()))
{
string soapResult = rd.ReadToEnd();
Console.WriteLine(soapResult);
}
}
}
catch (WebException e)
{
if (e.Status == WebExceptionStatus.ProtocolError)
{
WebResponse resp = e.Response;
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
Console.WriteLine(sr.ReadToEnd());
}
}
}