假设您已经在.net上建立了自己的webservice,目前只是想在delphi上实现对net上自己的webservice 接口的调用

1)  在你的工程中 new  -> other 选择 webservices 这页

2)  选择其中的 wsdl importer 项

3)  在其中的wsdl source中填入你已经知道的wdsl地址,这里我填入我的地址是
http://192.168.0.123/hello/tijiaosj.asmx?wsdl

4) next后 就自动生成了一个unit

5)  这个unit中包含了你提供的url地址中的所有可用接口
其中 GetXXXXXSoap 这个函数返回了这些接口的class
在业务代码中只要写 GetXXXXXSoap.XXXfunction就可以了

6)  另外提当函数要操作中文的时候,记得修改GetXXXXXSoap,添加这条语句
RIO.HTTPWebNode.UseUTF8InHeader := True; //解决中文乱码问题
呵呵,很简单,对吧

最后,稍微改了一下Delphi生成的接口单元

改动的地方为:

7). 添加接口的执行选项默认为 ioDocument
如果是JAVA 接口, 将执行选项改为 ioLiteral  即可.

修改后的代码如下:
InvRegistry.RegisterInvokeOptions(TypeInfo(XcdsExPortType), ioDocument);

最后修改:2009 年 08 月 16 日
一分也是爱