asp.net-core - 如何修复 ASP.NET Core 中的 WrongInputException?
问题描述
我想使用另一个团队准备的 SOAP Web 服务,在我在 ASP.NET Core 中准备的新 REST API 内部使用。我的 Web 服务客户端代码是使用WCF Web Service Reference Provider Tool 搭建的。我根据团队的命名约定清理了代码(例如,我更改了属性和方法名称)。
当我通过新的 REST API 发送请求时,我收到了WrongInputException
. 我检查了示例请求中的所有参数,它们都在我的 C# 代码使用脚手架客户端中的同一个位置。
我不知道我的新 REST API 究竟发送了什么消息。
解决方案
就我而言,所描述行为的主要原因WrongInputException
是过早重构。我在不知道后果的情况下更改了 Web 服务客户端中的属性名称。
例如,如果请求正文中的元素是objectRefNum
,那么我不能简单地更改脚手架服务引用类中的相关属性,因为 - 无需额外配置 - 该名称会以相同的字母大小写复制到 SOAP 信封的请求正文中。SOAP 信封应该以区分大小写的方式编码。
为了在 ASP.NET Core 中跟踪我的新 REST API 发送的原始请求正文,我遵循了这个优秀答案中的说明。
(注意,顺便说一句,这种错误(应用不适当的字母大小写)可以由 IDE 处理,至少作为警告,但事实并非如此,所以:即使我们有单元测试,我们在进行重构时也需要小心覆盖所有路径,即使我们使用 IDE 支持的语义重命名。)
推荐阅读
- reportportal - 如何使用 reportportal API 生成令牌
- java - 如何使用 Spring Actuator 在浏览器屏幕中显示日志文件的内容?
- emacs - 使用 init.el 和包安装在新机器上设置 emacs
- python - 在python中读取xml
- c++ - 为什么 C++ 中字符串变量的 cout 中显示奇怪的字符?
- javascript - 旋转箭头末端的位置
- angularjs - 为angularjs添加角度材料后出现错误
- javascript - jQuery文件上传进度条与浏览器不同步
- python - 在模式中指定 DateType() 时从 RDD 创建 DataFrame
- r - 多项式回归的新预测