微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复 ASP.NET Core 中的 WrongInputException?

如何解决如何修复 ASP.NET Core 中的 WrongInputException?

我想使用另一个团队准备的 SOAP Web 服务,在我在 ASP.NET Core 中准备的新 REST API 内部使用。我的网络服务客户端代码是用 WCF Web Service Reference Provider Tool 搭建的。我根据团队的命名约定清理了代码(例如,我更改了属性方法名称)。

当我通过我的新 REST API 发送请求时,我收到了 WrongInputException。我检查了一个示例请求中的所有参数,它们都在我的 C# 代码使用脚手架客户端的同一个地方。

我不知道我的新 REST API 到底发送了什么消息。

解决方法

就我而言,所描述的行为和 WrongInputException 的主要原因是 premature refactoring我在不知道后果的情况下更改了 Web 服务客户端中的属性名称。

例如如果请求正文中的元素是 objectRefNum,那么我不能简单地更改脚手架服务引用类中的相关属性,因为 - 无需额外配置 - 该名称会以相同的字母大小写复制到请求正文中SOAP 信封。 SOAP 信封应以区分大小写的模式进行编码。

为了在 ASP.NET Core 中跟踪我的新 REST API 发送的原始请求正文,我按照 this excellent answer 中的说明进行操作。

(注意,顺便说一句,IDE可以处理这种错误(应用不合适的字母大小写),至少作为警告,但事实并非如此:我们在进行重构时需要小心,即使我们具有覆盖所有路径的单元测试,即使我们使用 IDE 支持的语义重命名。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。