我可以在不打开调试的情况下从SOAP :: Lite返回原始XML吗?

时间:2011-08-16 02:21:30

标签: xml perl soap

Debug是一个很好的功能,但我想要的是能够从请求或响应中返回“可读”的原始xml。这样我就可以在我的测试框架中的note中打印出来。谁能告诉我怎么做到这一点?

2 个答案:

答案 0 :(得分:0)

outputxml标志是你所追求的吗?


来自documentation

outputxml()
     

允许您指定所有方法调用的输出类型。如果是真的,   所有方法都将返回未处理的原始XML代码。你可以解析它   使用XML :: Parser,SOAP :: Deserializer或任何其他适当的模块。

答案 1 :(得分:0)

有点晚了(哈!),但我一直在寻找同样的东西,在我们使用的库中,我能够做到以下几点:

my $soap = SOAP::Lite->new()
    # ->uri(...)->proxy(...)->autotype(0)
    ;
my $header = SOAP::Header->name(...);
my $som = $soap->call('method' => $args, $header);
my $serializer = SOAP::Serializer->new;
my $xml = $serializer->serialize($som->dataof('//')); # includes a lot of attributes...
# or
my $xml = $serializer->serialize($som->valueof('//'));

相关问题