JSON クラスを wcf サービスに投稿しようとしている Android クライアントに問題があります。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 は常に null です。何が間違っている可能性がありますか?