我的 android 客户端尝试将 JSON 类发布到我的 wcf 服务时遇到问题。这是android客户端的代码:
public HttpResponse TestPost() throws Exception
{
HttpPost httpost = new HttpPost(url+"/TestPost");
JSONStringer img = new JSONStringer()
.object()
.key("TestModel")
.object()
.key("p1").value("test")
.key("p2").value("test")
.key("p3").value(1)
.key("p4").value("test")
.key("p5").value(2)
.key("p6").value("test;test")
.endObject()
.endObject();
StringEntity se = new StringEntity(img.toString());
httpost.setEntity(se);
httpost.setHeader("Accept", "application/json");
httpost.setHeader("Content-type", "application/json");
return httpclient.execute(httpost);
}
这是 Wcf 的代码
[OperationContract]
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "TestPost")]
void TestPost(TestModel tm);
[DataContract]
public class TestModel
{
[DataMember(Name = "p1")]
public string p1 { get; set; }
[DataMember(Name = "p2")]
public string p2{ get; set; }
[DataMember(Name = "p3")]
public int p3 { get; set; }
[DataMember(Name = "p4")]
public string p4 { get; set; }
[DataMember(Name = "p5")]
public int p5 { get; set; }
[DataMember(Name = "p6")]
public string p6 { get; set; }
}
在我的 wcf 方法中,参数 TestModel tm 始终为空。什么可能是错的?