Существует собственная служба WCF REST, необходимо отправить ей сообщение в формате XML.Похоже, что этот вопрос задавали и отвечали несколько раз, но после попытки каждого решения я все еще не добился успеха.
Сервер: интерфейс
[ServiceContract]
public interface ISDMobileService
{
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle=WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Xml, ResponseFormat=WebMessageFormat.Xml)]
int ProcessMessage(string inputXml);
}
Сервер: класс
public class Service : ISDMobileService
{
public int ProcessMessage(string inputXml)
{
Console.WriteLine( "ProcessMessage : " + inputXml );
return 0;
}
}
Сервер: хостинг
class Program
{
static void Main(string[] args)
{
WebServiceHost host = new WebServiceHost(typeof(Service), new Uri("http://172.16.3.4:7310"));
WebHttpBinding webbind = new WebHttpBinding(WebHttpSecurityMode.None);
ServiceEndpoint ep = host.AddServiceEndpoint(typeof(ISDMobileService), webbind, "");
ServiceDebugBehavior stp = host.Description.Behaviors.Find<ServiceDebugBehavior>();
stp.HttpsHelpPageEnabled = false;
host.Open();
Console.WriteLine("Service is up and running. Press 'Enter' to quit >>>");
Console.ReadLine();
host.Close();
}
}
![fiddler request](https://i.stack.imgur.com/9rSPc.jpg)
Запрос от fiddler без чего-либо в «теле запроса» работает просто отлично и запускает точку останова внутри метода ProcessMessage класса Service, любой вариант данных в «теле запроса», например: test || тест ||inputXml = "test" || test и т. Д. Дает HTTP / 1.1 400 Bad Request
Буду признателен за любую помощь с этим