2
有一個自我託管的WCF REST服務,需要發送一個xml郵件消息給它。似乎這個問題似乎被問及幾次回答,但在嘗試了每個解決方案後,我仍然沒有取得任何成功。發送xml數據到WCF REST服務
服務器:接口
[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();
}
}
請求,而不在T什麼他的「Request Body」工作得很好,並在Service類的ProcessMessage方法中觸發斷點,「請求正文」中的任何數據變體 例如:test || <inputXml> test </inputXml > || inputXml =「test」|| <?xml version =「1.0」encoding =「UTF-8」? > <inputXml>測試</inputXml >等給出了HTTP/1.1 400錯誤的請求
會明白這個
完美的工作,非常感謝 – Maxim