开发者社区> xalion> 正文

使用delphi 开发多层应用(十九) ios通过soap 访问kbmmw服务器

简介: 随着delphi XE4 的推出,开始真正意义上支持ios 的开发,由于目前kbmmw 还不完全支持ios 的开发,因此 无法直接使用kbmmw 的客户端访问kbmmw 的服务器(虽然kbmmw 也提供了C 的客户端,可以使用xcode连接 kbmmw的C 客户端来访问kbmmw 服务器,但是功能有限,而且要熟悉xcode),对于急着想在ios 使用kbmmw 服务的同学,可以先使用kbmmw 的webservice 方式访问kbmmw 服务器。
+关注继续查看

      随着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 程序,真机运行效果如下。

 

 

好了。

 

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
iOS开发中 关于阿里云服务器的使用与安全策略 韩俊强的博客
使用背景:         云服务已经很多年了,早期没能加入使用云大军中的一员,后来后悔莫及。2015年记得当时没办法租用的虚拟主机三天两天挂了,导致我认认真真的考虑了一次,觉得还是要使用云服务器! 从免费的主机屋学习版到各种虚拟机的实验,再到之前是用300元左右买的别人的虚拟主机,空间有几G,感觉还行,正好又值他们搞活动,买两年送一年!预存还有返还!心动了,就没有任何考虑就预存了一千块! 开始的几个月感觉还行,速度什么的还过得去,就没去管网站的事了。
1761 0
使用delphi 10.2 开发linux 上的webservice
前几天做了linux下apache的开发,今天做一个linux 下的webservice ,以供客户端调用。 闲话少说,直接干。 新建一个工程。选other...,选择如图。 继续输入服务名 然后就生成对应的单元。
1991 0
iOS 10 不提示「是否允许应用访问数据」,导致应用无法使用的解决方案
每日更新关注:http://weibo.com/hanjunqiang  新浪微博!iOS开发者交流QQ群: 446310206 这个坑最近弄得我很抓狂,不过现在基本弄清楚了。记录一下过程中我收集到的信息,分享给大家。
1452 0
推送通知iOS客户端编写实现及推送服务器端编写
<p><span data-mce-style="font-size: large;" style="font-size:18px;"><strong>1、<span data-mce-style="font-family: Times New Roman;" style="font-family:Times New Roman;">iOS</span>客户端编程</strong></span
1957 0
使用SAP WebIDE开发SAP Fiori Worklist应用消费OData服务
使用SAP WebIDE开发SAP Fiori Worklist应用消费OData服务
43 0
+关注
xalion
delphi 专家,熟悉Delphi,Oracle,Sqlserver Web,Android,IOS,Javascript。企业信息化建设。
171
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载