如何正式拒绝 SOAP 请求?

如何正式拒绝 SOAP 请求?

我有一个大型的 F5 LTM 负载均衡器环境,我正在对其进行配置以在 URI 级别限制请求。对于人类网络用户,我们会将他们 302 转到一个繁忙的页面,但我们也运行网络服务,需要礼貌地告诉 soap 客户端继续前进并进行繁殖。由于对 SOAP/XML 响应一无所知,我不清楚我们应该告诉客户端什么。一个非常基本的 500 响应是否足够,还是我们还需要制作一个合法的 SOAP 响应?

答案1

SOAP 响应由服务定义(即 WSDL)决定,除此之外,通常使用合适的 HTTP 响应代码对于“合同”范围之外的情况。

我不会因为懒惰而使用 500,而是选择:

  • 409 冲突
  • 410 已消失
  • 417 期望失败
  • 429 请求过多
  • 501 未实现
  • 503服务不可用
  • 509 超出带宽限制
  • 507 存储空间不足

查看完整列表并选择最合适的。

如果服务器能够返回一个详细说明错误的 XML 文档,那么这样做是正常的。我使用的 SOAP 服务在服务定义中允许这样做。

客户端必须能够应对未修饰的 HTTP 错误,因为有时服务器故障甚至在请求 XML 被解析之前就发生了。

相关内容