Perl SOAP :: Lite添加CDATA

时间:2017-03-03 07:49:02

标签: perl cdata soaplite

我使用SOAP::Lite模块调用Web服务,如下所示:

my $som = $soap->call('ns:xxx' =>
           (
            SOAP::Data->name('ns:data' =>
            \SOAP::Data->value(
               SOAP::Data->name('username')->type('')->value($username),
             )
          )
      )
  );

它不起作用。所以我使用SOAPUI工具调用Web服务来查看xml结构。

然后我在调试模式下运行我的代码(使用SOAP :: Lite'debug'),查看创建的xml并与SOAPUI工具的xml进行比较。唯一的区别是SOAPUI xml包含CDATA标记,如下所示:

<![CDATA[
   xml
]]>

我搜索并看到CDATA用于防止由特殊字符引起的错误

如何使用Perl代码添加此标记?

1 个答案:

答案 0 :(得分:0)

使用XML :: Generator对CDATA部分进行编码。然后把它放在相关的肥皂结构中。