Pregunta

tengo xsi:nil="true" en mi solicitud de jabón. ¿Que significa? ¿Cómo puedo pasar el valor en eso?

Se agradece cualquier ayuda

¿Fue útil?

Solución

Para eliminarlo, establezca el valor en el objeto SOAP :: Data a ArrayRef en lugar de Undef. Digamos que tiene Field1 como su clave, entonces el objeto SOAP Data se vería:

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

y el XML resultante sería: <m: campo1 xsi: nil = true id = "1219615" /> Ahora si cambia el objeto a:

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

Obtendrá la salida deseada <m: field1 id = "1219615" />. La solución está en Perl.

Otros consejos

El atributo Nillable indica que el elemento en el que está el atributo está presente pero no tiene valor, similar a NULL En la mayoría de los lenguajes de programación.

Si desea asignar un valor al elemento, puede hacerlo, sin embargo, tendrá que eliminar el xsi:nil Atributo primero, de lo contrario recibirá un error.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top