如何在Android中通过HTTP发布XML文档元素?

时间:2012-02-15 11:34:39

标签: android xml http-post

这是在C#中用于发布XML文档元素的代码

XmlString = @"<WOITEMS><WOITEM ACTION='I'>" + TransData + "</WOITEM></WOITEMS>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(XmlString);
saveRegisterItems(xmlDoc.DocumentElement);

saveRegisterItems是一个WCF服务方法,它接收一个Document Element作为它的参数。如何在Android中使用HttpPOST执行此操作?我尝试了下面的代码。但是,它不起作用。

HttpResponse response = null;
String myUrl = "http://"+Constants.strURL+"/ServiceOrders.svc/SaveRegisterItems";
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(myUrl);
StringEntity se = new StringEntity(XmlString, HTTP.UTF_8);
se.setContentType("text/xml");
httpPost.setHeader("Content-Type", "application/soap+xml;charset=UTF-8");
httpPost.setEntity(se);

我将response.getStatusLine()作为“HTTP / 1.1 200 OK”但是,它没有在服务器中更新。我认为,传递XML文档元素会做到这一点。请帮忙

1 个答案:

答案 0 :(得分:0)

当我更改httpPost.setHeader()方法的第二个参数时,我得到了解决方案。它应该是这样的。

httpPost.setHeader("Content-Type", "application/xml;charset=UTF-8"); 

我通过提供EntityUtils.toString(实体)获得了适当的响应。