2012-02-15 66 views
0

这是用于发布一个XML文档元素如何在Android中通过HTTP发布XML文档元素?

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

saveRegisterItems是接收的文档元素,因为它是参数的WCF服务方法在C#完成的代码。我如何在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文档元素将做到这一点。请帮助

回答

0

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

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

我通过EntityUtils.toString(entity)得到了正确的响应。