我試圖與我的休息服務交流,但這一次總是返回我的發表參數是空的,但在我的客戶端控制檯中,他被填充。REST服務收到空參數
這裏是接口類:
[ServiceContract]
public interface IMyTest
{
[OperationContract]
[WebInvoke(UriTemplate = "TestMe", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped)]
string TestMe(string parameter);
}
我的SVC方法:
public string TestMe(string parameter)
{
if (string.IsNullOrEmpty(parameter)
return "Empty";
return "OK";
}
我的客戶:
string content = "{\"Param\" : \"TEST\"}";
var request = WebRequest.Create("http://localhost/MyTestURL/MyTest.svc/TestMe");
request.Method = "POST";
request.ContentType = "application/json";
using (var writer = new StreamWriter(request.GetRequestStream()))
{
writer.Write(content);
}
var res = (WebResponse)request.GetResponse();
StreamReader reader =
new StreamReader(res.GetResponseStream(), Encoding.UTF8);
System.Console.WriteLine("Response");
System.Console.WriteLine(reader.ReadToEnd().ToString());
是我的客戶端代碼不好嗎?我的配置不好嗎? ...
謝謝。
你是否也傳遞了內容長度標題? – 2012-08-01 16:38:14
我也測試過,通過content-lentgh但沒有任何改變。 – ahikaz 2012-08-02 09:57:17