如何使用perl SOAP :: Lite输出soap片段?

时间:2012-03-03 03:19:17

标签: linux perl soap

我是soap协议的新成员,所以我想找到一个perl模块来生成soap片段,以便我可以学习如何用它构建一个soap片段,SOAP :: Lite是一个很好的肥皂模块,但是我找不到关于如何将soap片段输出到文件或标准输出的教程,所以任何提示?
问候。

1 个答案:

答案 0 :(得分:1)

use strictures;
use SOAP::Lite qw();
my $soap_body = SOAP::Data->name('foo' => \SOAP::Data->value(SOAP::Data->name('bar' => '123')));
print SOAP::Serializer->envelope(freeform => $soap_body);

$ perl -C /tmp/soap.pl | xmllint -format -
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  <soap:Body>
    <foo>
      <bar xsi:type="xsd:int">123</bar>
    </foo>
  </soap:Body>
</soap:Envelope>

对于像这样的实验任务,通常最好使用REPL。它可以让您更快地进行周转,因为您在输入表达式后会立即看到结果。