我已经集成了与 JSON 配合良好的 volley 库。现在正在尝试访问 WCF SOAP 我不知道如何将 XML 字符串作为请求传递以及如何获取 XML 字符串作为响应。
最佳答案
// Tag used to cancel the request
String tag_string_req = "string_req";
//String url = "URL......";
final ProgressDialog pDialog = new ProgressDialog(this);
pDialog.setMessage("Loading...");
pDialog.show();
StringRequest strReq = new StringRequest(Request.Method.POST,
url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d(TAG, response.toString());
pDialog.hide();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
pDialog.hide();
}
}){
@Override
public String getBodyContentType() {
return "application/xml; charset=" +
getParamsEncoding();
}
@Override
public byte[] getBody() throws AuthFailureError {
String postData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
"<sampletag>\n" +
"\t<sampletag>data</sampletag>\n" +
"</sampletag>"; // TODO get your final output
try {
return postData == null ? null :
postData.getBytes(getParamsEncoding());
} catch (UnsupportedEncodingException uee) {
// TODO consider if some other action should be taken
return null;
}
}
};
//添加请求到请求队列 AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
关于android - 发布 XML 请求和 XML 响应 Volley 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43678487/