• 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();
  • 相关阅读:
    111
    python 错误宝典
    Node.js Web开发:Connect
    Node.js 中的重要API:HTTP
    Node.js 中的重要API:TCP
    Node.js 中的重要API:命令行工具以及FS API 首个Node应用
    Node.js 中的JS
    Node.js 阻塞式IO与非阻塞式IO与错误处理
    Learning Vue.js 2
    A1046——入门模拟 Shortest Distance
  • 原文地址:https://www.cnblogs.com/gzggyy/p/2086115.html
Copyright © 2020-2023  润新知