博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用delphi 开发多层应用(十九) ios通过soap 访问kbmmw服务器
阅读量:4983 次
发布时间:2019-06-12

本文共 1904 字,大约阅读时间需要 6 分钟。

      随着delphi XE4 的推出,开始真正意义上支持ios 的开发,由于目前kbmmw 还不完全支持ios 的开发,因此

无法直接使用kbmmw 的客户端访问kbmmw 的服务器(虽然kbmmw 也提供了C 的客户端,可以使用xcode连接

kbmmw的C 客户端来访问kbmmw 服务器,但是功能有限,而且要熟悉xcode),对于急着想在ios 使用kbmmw

服务的同学,可以先使用kbmmw 的webservice 方式访问kbmmw 服务器。

  下面我就介绍以下如何在ios 访问kbmmw 服务器

还是我们的上面的服务端程序,需要修改几个地方:

TkbmMWTCPIPIndyServerTransport 的端口设成http 的标准接口80,

streamFormat 设成 SOAP

verifyTransfer 设成 False ,以便兼容不同语言的客户端。

另外 需要在Params 里面加一句:

KBMMWSOAPVIAHTTP=1

 

服务器端的其他不用动,按原来的方式注册服务:

procedure TForm1.FormCreate(Sender: TObject);var  sd:TkbmMWCustomServiceDefinition;begin   sd:=kbmMWServer1.RegisterService(Txalionsrv,false); end;

 编译运行,ok. 服务器端就完成了。

 

客户端由于不能使用kbmmw, 只能使用标准的delphi 功能。

先建立一个标准的ios 空白文件。

放置一个label,一个memo,一个按钮。

然后我们要导入WSDL.

kbmmw 提供了WSDL 文件,文件名为kbmMW.wsdl.在kbmmw 源码的目录。

我们在WSDL 导入器里面选择这个文件,如图:

一路点下去,直到完成。就会生产一个kbmmw.pas.

把这个kbmmw 加入到uses 里面。

然后在button 点击事件里面写入代码

var   server:IProcessRequestSOAPPort;   req:ProcessRequest;   res:TkbmMWSOAPResponse;   v:variant;begin      server:=GetIProcessRequestSOAPPort(false,            'http://127.0.0.1/server1',nil);            req:=ProcessRequest.Create;         try          // Setup request.                  req.ServiceName:='XALION_SRV';                  req.ServiceVersion:='';                  req.StateID:=-1;                  req.Func:='sumall';                  v:=VarArrayCreate([0,1],varVariant);                  v[0]:=100;                   req.Args:=v;                  // Call app server.                  res:=server.ProcessRequest(req);              try            // Check response.                  Label1.Text:=res.StatusText;                  if res.StatusCode=0 then // OK                  begin                  Memo1.Lines.Add(res.Result);                  end;                finally               res.Free;            end;            finally            req.Free;          end;end;

 然后编译ios 程序,真机运行效果如下。

 

 

好了。

 

 

 

转载于:https://www.cnblogs.com/xalion/p/3203251.html

你可能感兴趣的文章
vue项目向小程序迁移调研
查看>>
.NET面试题系列(十七)前端面试
查看>>
Jquery权威指南
查看>>
CSS hack大全(转)
查看>>
ZOJ - 3229 Shoot the Bullet (有源汇点上下界最大流)
查看>>
【14】redis
查看>>
蓝桥杯/第四届/猜年龄
查看>>
LeetCode-Letter Combinations of a Phone Number
查看>>
关于ubuntu的图形界面的关闭与开启
查看>>
Java 线程控制
查看>>
模块中的特殊变量
查看>>
谈谈Delph中的类和对象2---类可以理解成一种特殊的数据结构、类型转换
查看>>
egret 新建eui组件后无法读取组件内元素的解决办法
查看>>
firebug中启用控制台访问项目很卡很卡
查看>>
RabbitMQ消息队列(六)-消息任务分发与消息ACK确认机制(.Net Core版)
查看>>
mysql如何修改root用户的密码
查看>>
ASP.net参数传递总结
查看>>
超简单vue轮播组件
查看>>
图形的初级变化使用View
查看>>
Codeforces Round #400 E. The Holmes Children
查看>>