调试SOAP交互的最佳方式是什么?

问题描述:

当我遇到SOAP错误时,与我通信的服务器仅返回最小错误消息(“参数问题”)。所以我想看看交换的xml(发送或接收)。为了打印xml echanged,我修改了我的SOAP库,但为了做到这一点,我不得不做一些复古工程。我也可以查看网络(使用wireshark或代理),但如果交换的数据是加密的,则它不起作用。对我来说,这似乎是一种骇人而痛苦的做法。调试SOAP交互的最佳方式是什么?

当库不提供调试日志记录时,调试SOAP交互的更好方法是什么?

我遇到的错误是EvaluationError non nillable元素为零,我在Python中使用ZSI,如果这是相关的。

通常我最喜欢它,如果库本身可以支持调试日志记录(即使它需要一些黑客)。

我的第二个建议是代理。如果你控制客户端mitmproxy的自动证书生成应该做的工作。

我发现wireshark对于正常调试来说太乏味乏味,尽管当你需要确切地知道通过线路发送了什么(有时候通过检查IP或TCP协议位可以发现某些提示),它可能会有所帮助。