假设您已经在.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);
1 条评论
谢谢,帮了我很大的忙!