如何解决如何修复 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 举报,一经查实,本站将立刻删除。