使用来自.net核心的签名消息来使用SOAP Web服务

时间:2018-03-19 13:16:42

标签: c# soap .net-core wcf-client

我正在尝试从.NET Core 2.0应用程序与外部SOAP Web服务进行通信。我有服务的WSDL和XSD文件,并使用这些文件作为svcutil.exe的输入,以从命令行生成代码。 只要我使用收到的WSDL文件的不安全版本(仅用于测试目的),这就可以正常工作,但是当我使用WSDL文件的WSS版本生成的代码时,我会在某些操作契约上遇到编译错误属性,例如:

[System.ServiceModel.OperationContractAttribute(ProtectionLevel=System.Net.Security.ProtectionLevel.Sign, Action="CollectedData", ReplyAction="*")] (...) <ReturnType> MethodToBeCalledFromMyCode (<RequestDataType> request);

似乎ProtectionLevel不是.NET Core WCF客户端中OperationContractAttribute的一部分。

有谁知道如何克服这个问题(或者以正确的方式为.NET Core做到这一点)? 或者,如果这是为下一版.NET Core实现的路线图?

我意识到这可能是平台依赖的(因为它反过来又与从证书存储区访问证书以签署消息等),所以我愿意接受替代解决方案。

目前,我通过使用.NET Framework解决了这个问题,并在虚拟机上运行WCF代码,并在那里安装了本地存储中所需的证书。但我们的大多数代码库都是C#.NET Core,在Kubernetes集群中的Linux Containers中运行,因此这种解决方法给我们带来了一些麻烦,因为它不适合其他部署和基础架构维护。

任何建议都将受到赞赏。

0 个答案:

没有答案