服务端需要midas.dll  

XE5对android的平台支持很有吸引力,虽然目前用来直接开发应用到安卓市场卖赚钱可能性估计不大(安卓市场目前国内好像都是免费的天下),但是对于企业应用很是很有帮助的,比如开发一个手机客户端随时查询企业erp等管理软件的数据库!
   webservice以前基本没有接触,恶补了几天,服务端用ro开发比较快捷(ro下载请自己baidu)

一,服务端开发:

1,打开delphi xe(服务端我用的是xe开发的,因为目前还没有出支持xe5的ro)

新建工程---RO sdk--vcl standalone--建立成功

2,工程打开后,在ide的菜单ro中选择edit serverice library

3,打开ServerForm,删除上面的2个控件,并添加TROIpHTTPServer(属性中可以设置端口), TROSOAPMessage 2个控件,设置TROIpHTTPServer的  dispatchers属性,绑定TROSOAPMessage

4,默认已经添加了了哇library 和newservice,我们一切按默认,用的是默认的一个函数sum,2个数求和

5,打开NewService_Impl,实现sum的具体代码:Result:=a+b;

6,运行服务端

打开浏览器测试:http://127.0.0.1:8099/soap

8099是我步骤3中设置的端口号,应该可以看到xml文件,说明服务端成功

二、服务端开发

1,打开xe5(为了测试android平台,客户端用xe5开发了)

2,新建项目-选择fm 移动项目

3,添加THTTPRIO控件

4,导入wsdl---

添加项目---web service --import wsdl

弹出向导对话框

这步遇到了问题

填入我服务端开发的soap地址,点击下一步,最后弹出错误,原因不明

  解决方法,回到xe开发服务端的界面,打开ide菜单ro中选择edit serverice library

  选择view -wsdl-save as 操作保存 wsdl文件

回到xe5中的导入wsdl文件对话框,改为直接选择上面的wsdl文件,成功得到soap_1.pas

在unit1.pas中添加soap_1.pas引用

5,在界面添加2个edit,1个lable,一个button

添加button的clickdaima

procedure TForm1.Button1Click(Sender: TObject);
    begin
      HTTPRIO1.URL:='http://192.168.1.103:8099/SOAP';
      Label1.Text:=IntToStr((HTTPRIO1 as NewService).Sum(StrToInt(Edit1.Text),strtoint(Edit2.Text)));
    end;

6,发布至android平台测试(注意保证android平台与电脑的网络连通)

代码下载地址http://pan.baidu.com/share/link?shareid=1383305444&uk=4127515284

我抛砖引玉

服务端需要midas.dll

XE5 ANDROID平台 调用 webservice的更多相关文章

  1. 在Android中使用Android Ksoap2调用WebService

    一.WebService介绍 WebService是基于SOAP协议可实现web服务器与web服务器之间的通信,因采用SOAP协议传送XML数据具有平台无关性,也是成为解决异构平台之间通信的重要解决方 ...

  2. 在Android中调用WebService

    某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查.我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数 ...

  3. android之调用webservice 实现图片上传

    转:http://www.cnblogs.com/top5/archive/2012/02/16/2354517.html public void testUpload(){ try{ String ...

  4. 转--Android中调用webservice的工具类

    最近学习WebService,感觉利用这个借口开发网站的Android客户端方便及了,用到一个工具类,这里铭记一下. public static final String WebServiceName ...

  5. CSDN上下载的一些关于Android程序调用Webservice执行不成功的问题

    今天从书上和CSDN上找了几个关于android调用webservice的样例,这些样例从代码来看.没不论什么错误,可是就是执行不成功.分析了android调用web接口的写法,发现这些样例在调用的时 ...

  6. XE5 ANDROID通过webservice访问操作MSSQL数据库

    上接XE5 ANDROID平台 调用 webservice 一.服务端 在ro里添加函数(在impl上添加阿东connection,adoquery,dataprovider) function TN ...

  7. 在Android 中使用KSOAP2调用WebService

    WebService 是一种基于SOAP协议的远程调用标准.通过WebService可以将不同操作系统平台,不同语言.不同技术整合到一起.在Android SDK中并没有提供调用WebService的 ...

  8. 在Android中调用C#写的WebService(附源代码)

    由于项目中要使用Android调用C#写的WebService,于是便有了这篇文章.在学习的过程中,发现在C#中直接调用WebService方便得多,直接添加一个引用,便可以直接使用将WebServi ...

  9. 【Android进阶】Android调用WebService的实现

    最近想自己搞搞服务器,就从最简单的webservice开始吧 先上效果图 项目结构 开始贴代码,注释都有,有问题的请留言 MainActivity.java package com.example.w ...

随机推荐

  1. A Simple Problem with Integers(线段树入门题)

    Description You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. On ...

  2. cocos2d-x使用ant打包

    1. 下载apache-ant-1.9.3,然后添加环境变量ANT_HOME = D:\dev_envir\apache-ant-1.9.3(你自己的ant根目录),再在path中添加路径:%ANT_ ...

  3. 前端必会css整理

    1.设置css样式的三种方式?         外部样式表,引入一个外部css文件         内部样式表,将css代码放在<head>标签内部         内联样式,将css样式 ...

  4. Android图片选择器--仿QQ

    当做一款APP,需要选择本地图片时,首先考虑的无疑是系统相册,但是Android手机五花八门,再者手机像素的提升,大图无法返回等异常因数,导致适配机型比较困难,微信.QQ都相继的在自己的APP里集成了 ...

  5. Objective-C ,ios,iphone开发基础:picker控件详解与使用,(实现省市的二级联动)

    第一步:新建一个单视图(single view)的工程, 命名为pickerTest,不要勾选下面两个选项,第一个是新版本里面的,第二个是单元测试,现在用不着. 点击next  ->creat之 ...

  6. 关于Java获取系统信息

    本文部分转载自: http://www.cnblogs.com/wuhenke/archive/2011/11/19/2255400.html 我总结的相关类似博客:http://www.cnblog ...

  7. MyBatis(3.2.3) - Handling enumeration types

    MyBatis supports persisting enum type properties out of the box. Assume that the STUDENTS table has ...

  8. Linux 命令 - arp: 操作系统的 ARP 缓存

    arp 命令可以查看 ARP 缓存或者手动添加.删除缓存中的条目. 命令格式 arp [-evn] [-H type] [-i if] -a [hostname] arp [-v] [-i if] - ...

  9. 第四十五篇、UITableViewCell高度计算

    由于tableView:heightForRowAtIndexPath:方法的调用频率非常高,如果将cell高度的计算过程放在此方法中,那么效率将会非常的低,快速tableview就会出现卡顿 1.通 ...

  10. Dreamweaver标签库

    .highlight .hll { background-color: #ffffcc } .highlight { background: #ffffff } .highlight .c { col ...