如何查看由请求和响应生成的 XML 代码? 通常,捕获由请求和响应生成的 XML 代码对调试非常有用。以下列出一些建议,介绍如何在 Java(使用 Axis)、Python 和 Perl 中捕获生成的 XML。
Java - 使用 Apache Axis 捕获 XML 输出
在 Axis 客户端的工作目录下,将此文件保存为 client-config.wsdd。Axis 将会自动加载该文件。此处的配置会告诉 Axis 将所有收到和发出的 XML 保存在名为 axis.log 的文件中。
Python - 使用 SoapPy 捕获 XML 输出
要配置 SOAPpy,使其将所有 XML 输入和输出记录到 stdout 中,请在程序中添加下列代码:
SOAPpy.Config.debug = 1
Perl - 使用 SOAP::Lite 捕获 XML 输出
将此行添加到程序中可显示 XML 请求/响应。
$service->on_debug( sub { print @_ } );
Java - 使用 Apache Axis 捕获 XML 输出
在 Axis 客户端的工作目录下,将此文件保存为 client-config.wsdd。Axis 将会自动加载该文件。此处的配置会告诉 Axis 将所有收到和发出的 XML 保存在名为 axis.log 的文件中。
<!-- 在 Axis 客户端的工作目录下将文件保存为
"client-config.wsdd"。Axis 将会自动加载该文件。
此处的配置会告诉 Axis 将所有收到和发出的
XML 保存在名为 "axis.log" 的文件中。
-->
<deployment
xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler name="log" type="java:org.apache.axis.handlers.LogHandler"/>
<globalConfiguration>
<requestFlow>
<handler type="log"/>
</requestFlow>
<responseFlow>
<handler type="log"/>
</responseFlow>
</globalConfiguration>
<transport
name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender"/>
</deployment>
Python - 使用 SoapPy 捕获 XML 输出
要配置 SOAPpy,使其将所有 XML 输入和输出记录到 stdout 中,请在程序中添加下列代码:
SOAPpy.Config.debug = 1
Perl - 使用 SOAP::Lite 捕获 XML 输出
将此行添加到程序中可显示 XML 请求/响应。
$service->on_debug( sub { print @_ } );