博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebService客户端设计期TClientDataSet.ProviderName无值解决
阅读量:2260 次
发布时间:2019-05-09

本文共 665 字,大约阅读时间需要 2 分钟。

   描述:在使用delphi开发webService时,遇到在客户端使用TSoapConnection + TClientDataSet时,下拉TClientDataSet.ProviderName只出现其中一个SoapDataModule的DataSetProvider列表(如果服务端只有一个SoapDataModule是没有这样问题的)。尝试把TSoapConnection.SoapServerIID改成服务端某个Soap Data Module接口的GUID,ProviderName也无值,就算这样指明接口也一样(发现soapServerIID正确,/soap后面是否指明接口效果一样)。

   解决办法:将服务端每个Soap Data Module接口部分抽出做成一个bpl包,注意在Unit单元(假如为uTest.pas)的initialization,finalization使用InvRegistry注册和反注册接口,然后Install Packages bpl文件到runtime,在每个Soap Data Module中注释已有接口,引用uTest.pas。然后客户端TSoapConnection.SoapServerIID填写需要接口的GUID,这样TCientDataSet.ProviderName下拉就会出现期望的DataSetProvider列表。问题在于其他Soap Data Module的接口没有注册到runtime,所以设计期不可见。

   在此感谢老大的指导。希望这篇短文能帮助同样遇到这个问题的人。

转载地址:http://zeycb.baihongyu.com/

你可能感兴趣的文章
jquery动态添加元素无法触发绑定事件的解决方案。
查看>>
php提示Notice: Undefined index解决方法
查看>>
使用Redis分布式锁处理并发,解决超卖问题
查看>>
idea 中解决maven 包冲突的问题(maven helper)
查看>>
linux bash中too many arguments问题的解决方法
查看>>
ApacheServer-----关于443端口被占用的解决方法
查看>>
PHP输出中文乱码的解决方法
查看>>
Amqp整合com.rabbitmq.client.ShutdownSignalException: channel error; protocol method异常处理
查看>>
python 异常处理 try except
查看>>
k8s 开船记:升级为豪华邮轮(高可用集群)与遇到奇怪故障(dns解析异常)
查看>>
Android使用Handler造成内存泄露的分析及解决方法
查看>>
Hash算法解决冲突的四种方法
查看>>
无法识别的属性“targetFramework”的解决方法
查看>>
[问题解决]NotImplementedError 错误原因:子类没有实现父类要求一定要实现的接口
查看>>
React中跨域问题的完美解决方案
查看>>
redis Could not connect to Redis at 127.0.0.1:6379: Connection refused 问题解决
查看>>
HTML`CSS_网站页面不同浏览器兼容性问题解决
查看>>
[微信] 微信商户号 资金解决方案 自动提现 关闭
查看>>
eclipse导入项目后出现红色叉号的解决方案
查看>>
Warning: Illegal string offset ‘account‘ in 解决方法
查看>>