xsi: nil = "true" в запросе на мыло - PullRequest
2 голосов
/ 26 октября 2010

У меня есть xsi:nil="true" в моем запросе на мыло.Что означает?Как я могу передать значение?

Любая помощь приветствуется

Ответы [ 2 ]

3 голосов
/ 26 октября 2010

Атрибут nillable указывает, что элемент, к которому он относится, присутствует, но не имеет значения, аналогично NULL в большинстве языков программирования.

Если вы хотите присвоить значение элементу, который вы можете сделать, однако сначала вам придется удалить атрибут xsi:nil, в противном случае вы получите ошибку.

0 голосов
/ 26 декабря 2012

Чтобы удалить его, установите значение в объекте Soap :: Data для arrayref вместо undef. скажем, у вас есть Field1 в качестве ключа, тогда объект Soap Data будет выглядеть так:

*bless( {
     '_name' => 'Field1',
     '_signature' => [],
     **'_value' => [
                   undef
                 ],**
     '_prefix' => 'm',
     '_attr' => {
                  'id' => '1219615'
                }
 }, 'SOAP::Data' )*

и полученный XML будет: теперь, если вы измените объект на:

*bless( {
     '_name' => 'Field1',
     '_signature' => [],
     **'_value' => [],**
     '_prefix' => 'm',
     '_attr' => {
                  'id' => '1219615'
                }
}, 'SOAP::Data' )*

Вы получите желаемый результат . Решение в perl.

...