通过COM包装器从HTA消费WCF服务
本文关键字:消费 WCF 服务 HTA COM 包装 通过 | 更新日期: 2023-09-27 18:08:53
寻求如何从HTA文件中使用WCF服务库的帮助。
基本总结—有一整套流程增强工具以HTA文件的形式与预订系统集成。
我们需要让系统使用X509证书作为安全签名与web服务通信。
因此,我们已经构建了一个使用web服务引用的WCF类库。在对app.config进行了一些调整和微调之后,我们已经让它与web服务完美地通信(使用windows表单测试应用程序)因此,为了能够通过HTA文件进行通信,我们编写了一个COM包装器,它公开了WCF库函数。
到目前为止一切顺利,但是当我们尝试运行HTA时,我们得到了臭名昭著的
"找不到名称为........的端点元素"
我已经尝试了各种各样的事情来尝试解决这个问题:确保所有dll文件和hta文件都在同一目录下。我已经从WCF dll中复制了app.config,并将其内容添加到COM包装器上的app.config文件。我甚至尝试在System32目录下的MSHTA.exe文件中添加一个配置文件!!
到目前为止没有任何帮助,并允许HTA文件获得WCF服务调用工作。
任何建议都非常感谢。干杯达伦
首先,尝试编译所有以x86
显式设置为目标的客户端. net项目(包括WCF类库和COM包装器)。
然后使用x86 RegAsm.exe
来注册您的COM包装器(这是C:'Windows'Microsoft.NET'Framework'v4.0.30319'RegAsm.exe
,而不是x64 C:'Windows'Microsoft.NET'Framework64'v4.0.30319'RegAsm.exe
)。
最后,使用x86 mshta.exe
(它是C:'Windows'SysWOW64'mshta.exe
,而不是x64 C:'Windows'System32'mshta.exe
)来测试它。
我终于让它工作了!
感谢@Noseratio,他的建议迫使我重新检查所有内容!
mshta.exe文件需要它自己的app.config文件。我已经尝试从WCF DLL复制app.config文件,但在将其命名为mshta时犯了一个学生错误。mshta.exe.config.
一旦正确命名,HTA文件就能够通过com包装器和WCF DLL与web服务通信。
干杯达伦