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

本文共 1854 字,大约阅读时间需要 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 程序,真机运行效果如下。

 

 

好了。

 

 

 

转载地址:http://qulta.baihongyu.com/

你可能感兴趣的文章
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>
spring jpa 配置详解
查看>>
IOE,为什么去IOE?
查看>>
Storm中的Worker
查看>>
dangdang.ddframe.job中页面修改表达式后进行检查
查看>>
Web基础架构:负载均衡和LVS
查看>>
Linux下c/c++相对路径动态库的生成与使用
查看>>
SHELL实现跳板机,只允许用户执行少量允许的命令
查看>>
SpringBoot 整合Redis
查看>>
2014上半年大片早知道
查看>>
Android 6.0指纹识别App开发案例
查看>>
正文提取算法
查看>>
轻松学PHP
查看>>
Linux中的网络监控命令
查看>>
this的用法
查看>>
windows下安装redis
查看>>
CentOS7 yum 安装git
查看>>