首页 > 解决方案 > WCF:无法使用安全绑定导入 WSDL

问题描述

我想从我的 .net 代码中调用 SOAP 服务。但是,当我导入 wsdl 时,出现以下错误:

无法导入 wsdl:port 详细信息:导入 wsdl:port 所依赖的 wsdl:binding 时出错。XPath 到 wsdl:binding: //wsdl:definitions[@targetNamespace=' http://www.bipro.net/namespace ']/wsdl:binding[@name='KrankenServiceBinding'] XPath 到错误源: //wsdl:定义[@targetNamespace=' http://www.bipro.net/namespace ']/wsdl:service[@name='KrankenService_2.6.0.1.1']/wsdl:port[@name='KrankenService'] 无法导入 wsdl :绑定详细信息:在调用策略导入扩展时引发了异常。扩展:System.ServiceModel.Channels.SecurityBindingElementImporter 错误:在安全策略导入期间检测到不受支持的安全策略断言:https ://example.com/SecurityTokenService 错误源的 XPath: //wsdl:definitions[@targetNamespace=' http://www.bipro.net/namespace ']/wsdl:binding[@name='KrankenServiceBinding']

我最初使用 .NET Core 进行了尝试,但也使用了经典的 Framework。结果相同。

我能做些什么?

标签: c#wcf

解决方案


您使用的是 Microsoft WCF Web 服务参考提供程序吗?如果错误也发生在 DotNetFramework 中,我认为 WSDL 文件有问题。还有一点需要说明的是,WCF 普遍发布的 WSDL 文件有两种。

http://localhost:11000/Service1.svc?wsdl
http://localhost:11000/Service1.svc?singleWsdl

?singleWSDL文件包含从外部文件导入的所有模式,例如 Data Contract。它通常适用于来自 SOAPUI 的调用。? WSDL文件通常用于生成调用服务的客户端代理。您是否尝试过另一个 WSDL 文件?此外,请尝试使用使用?WSDL文件创建的客户端代理调用服务。
如果有什么我可以帮忙的,请随时告诉我。


推荐阅读