• Android 调用 Web Service


    先用随便什么东西做出个 Web Service,假设得到的Web Service地址如下:

      http://192.168.0.100/android/WebService1.asmx

      而这个 Web Service 中,提供了一个 Sum 函数,其实现如下:

    publicint Sum(int a, int b) {

      
    return a + b;

      }

    则在 Android 中,可以按以下方式调用

      publicvoid callWS() throws ParserConfigurationException {

      
    final String SERVER_URL ="http://192.168.0.100/android/WebService1.asmx/Sum";

      HttpPost request
    =new HttpPost(SERVER_URL);

      List params
    =new ArrayList();

      params.add(
    new BasicNameValuePair("A", "1"));

      params.add(
    new BasicNameValuePair("B", "2"));

      
    try {

      request.setEntity(
    new UrlEncodedFormEntity(params, HTTP.UTF_8));

      HttpResponse httpResponse
    =new DefaultHttpClient().execute(request);

      String result
    ="";

      
    if (httpResponse.getStatusLine().getStatusCode() !=404) {

      result
    = EntityUtils.toString(httpResponse.getEntity());

      }

      
    new AlertDialog.Builder(this).setTitle("Hint").setMessage(result)

      .setPositiveButton(
    "OK", null).show();

      }
    catch (Exception e) {

      
    new AlertDialog.Builder(this).setTitle("Hint").setMessage(

      e.getMessage()).setPositiveButton(
    "OK", null).show();

      }

      }

    以上方法可以正确的得到 Web Service 的返回值,但是那是一个完整的 xml,需要进一步解析从而得到想要的结果

      解析的方法如下所示:

      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

      DocumentBuilder builder
    = factory.newDocumentBuilder();

      InputStream is
    =new ByteArrayInputStream(result.getBytes("UTF-8"));

      Document dom
    = builder.parse(is);

      String res
    = dom.getDocumentElement().getChildNodes().item(0).getNodeValue();
  • 相关阅读:
    method-r
    dtrace
    轻用其芒,动即有伤,是为凶器;深藏若拙,临机取决,是为利器!
    Git---报错:git Please move or remove them before you can merge 解决方案
    Git----拉取远程分支,git pull,git rebase,git pull --rebase的区别
    Git----查看提交日志
    Git---tag
    Git----常见工作管理总结
    【线上监控】日志上报bug处理方式总结
    接口文档所需内容
  • 原文地址:https://www.cnblogs.com/gzggyy/p/2086115.html
Copyright © 2020-2023  润新知