xsi: nil = "verdadero" en la solicitud de jabón
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
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.