我的肥皂请求中有xsi:nil="true"
。这是什么意思?我怎样才能传递价值?
感谢任何帮助
答案 0 :(得分:3)
nillable属性表示属性所在的元素存在但没有值,类似于大多数编程语言中的NULL
。
如果您想为元素指定值,则必须先删除xsi:nil
属性,否则会出错。
答案 1 :(得分:0)
要删除它,请将Soap :: Data对象中的值设置为arrayref而不是undef。 假设您将Field1作为密钥,那么Soap Data对象将如下所示:
*bless( {
'_name' => 'Field1',
'_signature' => [],
**'_value' => [
undef
],**
'_prefix' => 'm',
'_attr' => {
'id' => '1219615'
}
}, 'SOAP::Data' )*
,得到的xml将是:< m:Field1 xsi:nil = true id =“1219615”/> 现在如果将对象更改为:
*bless( {
'_name' => 'Field1',
'_signature' => [],
**'_value' => [],**
'_prefix' => 'm',
'_attr' => {
'id' => '1219615'
}
}, 'SOAP::Data' )*
您将获得所需的输出< m:Field1 id =“1219615”/> 。 解决方案是perl。