我知道这应该是很容易在网上找到,但没有文章解决了我的问题,所以我来这么一段help.I想使android系统的httppost请求一个WCF RESTful Web服务。我想创建一个xml然后我想将其发布到该服务并获得该服务的响应。如何在Android中创建一个httppost请求?
我创建了一个WCF REST服务,它有接受XML和应对back.Here是该方法的代码的方法:
[OperationContract]
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Xml,
ResponseFormat = WebMessageFormat.Xml,
UriTemplate = "DoWork1/{xml}",
BodyStyle = WebMessageBodyStyle.Wrapped)]
XElement DoWork1(string xml);
public XElement DoWork1(string xml)
{
StreamReader reader = null;
XDocument xDocRequest = null;
string strXmlRequest = string.Empty;
reader = new StreamReader(xml);
strXmlRequest = reader.ReadToEnd();
xDocRequest = XDocument.Parse(strXmlRequest);
string response = "<Result>OK</Result>";
return XElement.Parse(response);
}
下面是Android的代码发布XML:
String myXML = "<? xml version=1.0> <Request> <Elemtnt> <data id=\"1\">E1203</data> <data id=\"2\">E1204</data> </Element> </Request>";
HttpClient httpClient = new DefaultHttpClient();
// replace with your url
HttpPost httpPost = new HttpPost("http://192.168.0.15/Httppost/Service1.svc/DoWork1/"+myXML);
此代码会在路径异常中抛出非法字符。
我怎样才能使发布的XML文件从Android这项服务。任何建议将非常感激。
我想知道downvoting的原因?? –
你为什么用附加URL myXML,你应该设置XML作为POST请求体 – QAMAR
,因为当我试图通过它像其他方式httppost.setentity方法..它总是告诉我找不到 –