如何进行远程过程调用(SOAP客户端)?

问题描述:

我从来没有用过SOAP。现在有人给了我一个WSDL文件的链接,并告诉我开发一个应用程序,它可以对由WSDL文件定义的Web服务进行远程过程调用。如何进行远程过程调用(SOAP客户端)?

我还没有线索从哪里开始......(XE2精简版)

+2

这将是一个颠簸(:,导入WSDL文件(组件 - >导入WSDL),然后创建一个新的单位,如果你是幸运和WSDL正确导入,那么你是好的,如果没有,那么你必须得到 - 下载SOAPUI(http://www.soapui.org/),创建新项目,导入wsdl,发出请求,查看原始请求和响应,使用TIdHTTP并通过字符串或某些XML解析器构建您的要求,哦,它可以变得更坏,如果他们改变了WSDL,都他妈的会失去打破(: – ComputerSaysNo 2013-05-03 07:02:18

+2

不知道怎么了解简化版,但如果你有一些严重版,从'File/New/Other'有一个WSDL导入向导,在'New Items'对话框中选择'Delphi Projects/WebServices/WSDL Importer'。将生成类,你可以很简单地使用。 – TLama 2013-05-03 07:02:27

+3

@TLama off主题,我认为没有任何“严重版”( – ComputerSaysNo 2013-05-03 07:43:31

向导或命令行实用程序导入已发布WSDL文档,然后提供的接口定义,你需要连接信息。

文档:http://docwiki.embarcadero.com/RADStudio/XE/en/Using_Web_Services

有用于产生接口和代码示例步骤。

看看这篇文章:http://www.drbob42.com/examine/examinE2.htm

+1

41563/Delphi_XE2_Feature_Matrix.pdf)(请参阅第13页顶部)。 – TLama 2013-05-03 07:25:36

有一个Web服务工具包配有免费的Pascal和Delphi兼容。它包括WSDL导入,似乎正在积极开发中。

http://wiki.freepascal.org/Web_Service_Toolkit

+3

+1用于Web服务工具包。我已经使用它创建了今天仍在使用的Lazarus的企业级Web服务和客户端。 – tristan2468 2013-05-03 13:30:50