xsi:nil="true" в запросе на мыло

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

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

2 ответа

Решение

Чтобы удалить его, установите значение в объекте 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' )*

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

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

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

Другие вопросы по тегам