假设您已经在.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); Loading... <p>假设您已经在.net上建立了自己的webservice,目前只是想在delphi上实现对net上自己的webservice 接口的调用 <br /><br />1) 在你的工程中 new -> other 选择 webservices 这页 <br /><br />2) 选择其中的 wsdl importer 项 <br /><br />3) 在其中的wsdl source中填入你已经知道的wdsl地址,这里我填入我的地址是 <br />http://192.168.0.123/hello/tijiaosj.asmx?wsdl <br /><br />4) next后 就自动生成了一个unit <br /><br />5) 这个unit中包含了你提供的url地址中的所有可用接口 <br />其中 GetXXXXXSoap 这个函数返回了这些接口的class <br />在业务代码中只要写 GetXXXXXSoap.XXXfunction就可以了 <br /><br />6) 另外提当函数要操作中文的时候,记得修改GetXXXXXSoap,添加这条语句<br /><font color="#ff6600"><font color="#ff0000">RIO.HTTPWebNode.UseUTF8InHeader := True; //解决中文乱码问题</font> <br /></font>呵呵,很简单,对吧 </p><p>最后,稍微改了一下Delphi生成的接口单元 <br /><br />改动的地方为: <br /><br />7). 添加接口的执行选项默认为 ioDocument<br />如果是JAVA 接口, 将执行选项改为 ioLiteral 即可.<br /><br />修改后的代码如下: <br /><font style="BACKGROUND-COLOR: #0a246a" color="#ffffff">InvRegistry.RegisterInvokeOptions</font>(TypeInfo(XcdsExPortType), ioDocument);</p> 最后修改:2009 年 08 月 16 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 支持就是力量
1 条评论
谢谢,帮了我很大的忙!