我是编程新手,我需要一些帮助,请= /
Web服务已经编写但不是由我编写的。所以我要做的就是通过post方法通过web服务将xml作为文档对象发送。
我的代码:
public class send extends application {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://app.local/test/");
try {
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.newDocument();
Element rootElement = document.createElement("packet");
rootElement.setAttribute("version", "1.2");
document.appendChild(rootElement);
Element em = document.createElement("imei");
em.appendChild(document.createTextNode("000000000000000"));
rootElement.appendChild(em);
em = document.createElement("username");
em.appendChild(document.createTextNode("5555"));
rootElement.appendChild(em);
HttpResponse response = httpclient.execute(httppost);
} catch (Exception e) {
System.out.println("XML Pasing Excpetion = " + e);
}
}
}
答案 0 :(得分:1)
我在android编程方面也很新。但是,我通过以下方式解决了那些问题。
public void send(){
DefaultHttpClient httpClient = new DefaultHttpClient();
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("Servername", "abc"));
nameValuePairs.add(new BasicNameValuePair("UserName", "123));
nameValuePairs.add(new BasicNameValuePair("PassWord", "123"));
nameValuePairs.add(new BasicNameValuePair("XML", getRequestTypeStringBuilder()));
// Your every parameter name must be match with passing parameter, otherwise it throw
// an exception if it in case sensitive
HttpPost httpPost = new HttpPost("http://app.local/DeviceLogin/");
httpPost.addHeader("Accept", "text/xml");
httpPost.setHeader("Content-Type","application/xml;charset=UTF-8");
httpPost.setEntity(nameValuePairs);
HttpResponse response = httpClient.execute(httpPost);
// Be aware, if your return data type is also xml, then using replace empty string,
// otherwise, it my not retrieve or seen all data.
}
private static String getRequestTypeStringBuilder(){
StringBuilder body = new StringBuilder("<?xml version=\"1.0 \"encoding=\"UTF-8\"?>");
body.append("<!DOCTYPE My System\"Abc.dtd\">");
// Please append detail your xml body in here;
return body.toString();
}
希望这可以解决您的问题
“愿所有人都快乐”
问候和Metta, Ichirohang Limbu