asmx 添加 Localy(XMLFile) 时无法导入 wsdl

Posted

技术标签:

【中文标题】asmx 添加 Localy(XMLFile) 时无法导入 wsdl【英文标题】:Cannot import wsdl When asmx added Localy(XMLFile) 【发布时间】:2021-07-02 23:43:25 【问题描述】:

我有旧的 wcf Web 服务,对于网络问题,我决定将服务 WSDL 保存在 XML 文件中,并在我的 AspCore 项目中调用 Localy 以进行测试功能但是我有这个错误:

无法导入 wsdl:port 详细信息:导入 wsdl:port 所依赖的 wsdl:binding 时出错。 wsdl:binding 的 XPath: //wsdl:definitions[@targetNamespace='http://est']/wsdl:binding[@name='EstelamPortBinding'] 错误源的 XPath://wsdl:definitions[@targetNamespace='http://est']/wsdl:service[@name='Estelam']/wsdl:port[@name='EstelamPort'] 无法导入 wsdl:binding 详细信息:导入 wsdl:binding 所依赖的 wsdl:portType 时出错。 wsdl:portType 的 XPath://wsdl:definitions[@targetNamespace='http://est']/wsdl:portType[@name='EstelamPort'] 错误源的 XPath://wsdl:definitions[@targetNamespace='http://est']/wsdl:binding[@name='EstelamPortBinding'] 无法导入 wsdl:portType 详细信息:运行 WSDL 导入扩展时引发异常:System.ServiceModel.Description.DataContractSerializerMessageContractImporter 错误:找不到目标命名空间“http://est”的架构。 错误源的 XPath://wsdl:definitions[@targetNamespace='http://est']/wsdl:portType[@name='EstelamPort']

注意:我在我的 XML 中将位置更改为本地地址

【问题讨论】:

【参考方案1】:

虽然您可以在 .net core 中调用 WCF 服务,但它受到一些限制。 .net core 中的 WCF 客户端只支持四种绑定:BasicHttpBinding、CustomBinding、NetHttpBinding、NetTcpBinding,.net Core 中的安全特性并不多。

关于core对WCF的支持,可以参考这个链接:

https://github.com/dotnet/wcf

【讨论】:

以上是关于asmx 添加 Localy(XMLFile) 时无法导入 wsdl的主要内容,如果未能解决你的问题,请参考以下文章

当我们在webservice.asmx.cs中编写所有代码时,webservice.asmx有啥用?

保护来自 Azure 函数的 WCF (asmx) 调用

如何创建和发布.asmx Web Service

Azure 使用 Azure 函数保护 WCF asmx

ASMX:在运行时设置用户/密码

调用的webservice网址是:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx