更改端点地址后如何修复“无法识别的消息版本”

Bri*_*ers 1 c# wcf .net-core

我正在尝试使用 .NET Core 3.0 中的新端点使用 WCF 服务。我添加了服务引用并成功调用。

将我的 WCF 端点地址更改为我最初使用的地址后,我收到了“无法识别的消息版本”。错误。我怎样才能克服这个错误?

我已经尝试过使用自定义绑定、更改传输类型和 SOAP 版本。我已将问题缩小到端点地址。

包含以下代码段的注释行后,我收到错误消息。当我将地址注释掉时,服务会返回有效响应。我已经验证该服务使用基本的 HTTP 绑定,不需要凭据。

using var client = new AccountServiceClient();
// client.Endpoint.Address = new EndpointAddress("<url redacted>");
var response = client.getAccountAsync(new AccountRequest ...
Run Code Online (Sandbox Code Playgroud)

我在代码中使用的 URL 与我最初为测试目的配置的 URL 相同;但是,此 URL 会因环境而异。预期结果应填充响应变量。相反,我收到以下错误消息:

System.AggregateException : One or more errors occurred. (Unrecognized message version.)
---- System.ServiceModel.CommunicationException : Unrecognized message version.
Run Code Online (Sandbox Code Playgroud)

Bri*_*ers 7

我通过从端点地址中的服务 URL 中删除“?wsdl”解决了我的问题。

例如,如果 URL 是“ http://server/service?wsdl ”,我在端点地址中输入“ http://server/service ”。