如今 Web Service 已越来越火了,在DotNet已开发的Web Service中,Delphi 7如何方便的调用DotNet写的Web Service呢?
方法有两种,一种是在Delphi 7中WSDLImp工具将DotNet写的Web Service转化为Interface 单元文件,另一种方法是用MS 提供的 Microsoft Soap Toolkit(MSST) 工具。
下面是用WSDLImp工具调用C# 写一个简单的 Web Service:
启动 VS.Net工具,在C#项目中,选择 ASP.Net Web服务,在代码中写入
[WebMethod]
public double add(double s1, double s2)
{
return s1+s2;
}
生成配件后,在IE 中输入 http://localhost/ASPNETWS/Service1.asmx
会看到 有一个 add 的链接,点击进入,并调用测试:
如,输入 s1为 34, s2为 235.34 调用后为
<?xml version="1.0" encoding="utf-8" ?>
<double xmlns="http://tempuri.org/">269.34000000000003</double>
输入 http://localhost/ASPNETWS/Service1.asmx?WSDL,可看到WSDL单元
测试成功后,在Delphi 7的Bin目录找到 WSDLImp.exe工具,并拷到一处,
在 命令提示符 中输入 WSDLImp http://localhost/ASPNETWS/Service1.asmx?WSDL
会在当前目录中生成一个 Service.pas 文件,这就是要在Delphi中使用的Interface文件。
启动Delphi 7,新建 Application工程,放入一个TButton组件;
在uses 中加入 InvokeRegistry, Rio, SOAPHTTPClient, Service1;
procedure TForm1.btn_CShapWSClick(Sender: TObject);
var
WSResult: Double;
WSIServer: Service1Soap;
begin
WSIServer:= GetService1Soap(true,'',HTTPRIO1);
WSResult:= WSIServer.add(23,342.234);
showmessage('WSResult: '+ FloatToStr(WSResult));
end;
相关文章
- 09-16Delphi 调用惯例 register, pascal, cdecl, stdcall, safecall 介绍
- 09-16【转】在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法
- 09-16Delphi 使用CreateProcess创建进程并弹出进程PID值 (转)
- 09-16一个简单的Webservice的demo(中)_前端页面调用
- 09-16Delphi 调用netsh命令修改IP地址
- 09-16Delphi 完全时尚手册之 Visual Style 篇 (界面不错) 转自http://blog.csdn.net/iseekcode/article/details/4733229
- 09-16转delphi中nil的用法
- 09-16使你的WebService可以远程调试点击“调用”
- 09-16webservice提供接口与调用接口
- 09-16.Net Core 调用WebService