我是soap协议的新成员,所以我想找到一个perl模块来生成soap片段,以便我可以学习如何用它构建一个soap片段,SOAP :: Lite是一个很好的肥皂模块,但是我找不到关于如何将soap片段输出到文件或标准输出的教程,所以任何提示?
问候。
答案 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。它可以让您更快地进行周转,因为您在输入表达式后会立即看到结果。