XE5 ANDROID平台 调用 webservice
服务端需要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的更多相关文章
- 在Android中使用Android Ksoap2调用WebService
		一.WebService介绍 WebService是基于SOAP协议可实现web服务器与web服务器之间的通信,因采用SOAP协议传送XML数据具有平台无关性,也是成为解决异构平台之间通信的重要解决方 ... 
- 在Android中调用WebService
		某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查.我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数 ... 
- android之调用webservice 实现图片上传
		转:http://www.cnblogs.com/top5/archive/2012/02/16/2354517.html public void testUpload(){ try{ String ... 
- 转--Android中调用webservice的工具类
		最近学习WebService,感觉利用这个借口开发网站的Android客户端方便及了,用到一个工具类,这里铭记一下. public static final String WebServiceName ... 
- CSDN上下载的一些关于Android程序调用Webservice执行不成功的问题
		今天从书上和CSDN上找了几个关于android调用webservice的样例,这些样例从代码来看.没不论什么错误,可是就是执行不成功.分析了android调用web接口的写法,发现这些样例在调用的时 ... 
- XE5 ANDROID通过webservice访问操作MSSQL数据库
		上接XE5 ANDROID平台 调用 webservice 一.服务端 在ro里添加函数(在impl上添加阿东connection,adoquery,dataprovider) function TN ... 
- 在Android 中使用KSOAP2调用WebService
		WebService 是一种基于SOAP协议的远程调用标准.通过WebService可以将不同操作系统平台,不同语言.不同技术整合到一起.在Android SDK中并没有提供调用WebService的 ... 
- 在Android中调用C#写的WebService(附源代码)
		由于项目中要使用Android调用C#写的WebService,于是便有了这篇文章.在学习的过程中,发现在C#中直接调用WebService方便得多,直接添加一个引用,便可以直接使用将WebServi ... 
- 【Android进阶】Android调用WebService的实现
		最近想自己搞搞服务器,就从最简单的webservice开始吧 先上效果图 项目结构 开始贴代码,注释都有,有问题的请留言 MainActivity.java package com.example.w ... 
随机推荐
- iOS H5容器的一些探究(一):UIWebView和WKWebView的比较和选择
			一.Native开发中为什么需要H5容器 Native开发原生应用是手机操作系统厂商(目前主要是苹果的iOS和google的Android)对外界提供的标准化的开发模式,他们对于native开发提供了 ... 
- hibernate 查询
			String hql = "select * from Commodity where commodityName like :commodityname" ... 
- Zabbix Api的使用
			API使用 zabbix官网文档:https://www.zabbix.com/documentation/2.2/manual/api, Zabbix API是基于JSON-RPC 2.0规格,具体 ... 
- js实现归并排序
			function merge(s_arr, d_arr, start, middle, end){ var s_temp = start; var m_temp = middle+1; var tem ... 
- [改善Java代码]覆写equals方法时不要识别不出自己
			建议45: 覆写equals方法时不要识别不出自己 我们在写一个JavaBean时,经常会覆写equals方法,其目的是根据业务规则判断两个对象是否相等,比如我们写一个Person类,然后根据姓名判断 ... 
- [ImportNew]Java中的Timer类和TimerTask类
			http://www.importnew.com/9978.html java.util.Timer是一个实用工具类,该类用来调度一个线程,使它可以在将来某一时刻执行. Java的Timer类可以调度 ... 
- Android中定义接口的方法
			1.接口方法用于回调(这里定义接口是为了使用其接口方法): public interface ICallback { public void func(); } public class Caller ... 
- html5之meta标签viewport应用
			在html5移动页面中,viewport定义必不可少. 首先了解下关于viewport的概念: 先了解移动设备的屏幕尺寸和设备尺寸: iPhone3 设备尺寸 320*480 ; 屏幕尺寸 320* ... 
- mysql中文乱码的一点理解
			我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B. 如果你也遇到了这个问题,咱 ... 
- Slickflow.NET 开源工作流引擎基础介绍(三) -- 基于HTML5/Bootstrap的Web流程设计器
			1. Slickflow Designer 技术优势 1) 基于HTML5技术,兼容常见浏览器; 2) 纯Javascript / JsPlumb 脚本实现SVG图形化显示; JsPlumb允许您使用 ... 
