Convertir una respuesta SOAP a XML
Publicado: 2016-12-08 19:18 @846
Hola estimados, tengo la siguiente duda: estoy capturando desde un web service con el siguiente script una respuesta SOAP:
Ahora bien, cuando trato de leer el mensaje a través del siguiente script no puedo leerlo:
por lo cual tengo que transformar el mensaje de esta forma para que el script lo pueda tomar:
¿Es posible transformar la primera respuesta SOAP a XML? ¿O bien qué me recomiendan o bien cómo mejorar el script para leer el mensaje original sin tener que cambiar el mensaje?
Gracias.
Using text Syntax Highlighting
$VAR1 = {
'S:Body' => {
'ns4:SinteIED' => {
'xmlns:ns4' => 'http://ws.iid.sd.eedt.cl/SinteIED',
'xmlns:ns3' => 'http://ws.iid.sd.eedt.cl/Consultar',
'MovimientosCliente' => {
'Movimiento' => [
{
'NOMBRE' => 'ALTIMAS,
'MONTO' => '0.0',
'PAIS_CODIGO' => '522',
'GUIAS' => [
{
'LUGRA' => 'CLAVE',
'FECHA' => '2016-11-23',
'NRO' => '2885'
}
],
}
]
},
'xmlns:ns2' => 'http://ws.iid.sd.eedt.cl/MovimientosClienteWS'
}
},
'xmlns:S' => 'http://schemas.xmlsoap.org/soap/envelope/'
};
'S:Body' => {
'ns4:SinteIED' => {
'xmlns:ns4' => 'http://ws.iid.sd.eedt.cl/SinteIED',
'xmlns:ns3' => 'http://ws.iid.sd.eedt.cl/Consultar',
'MovimientosCliente' => {
'Movimiento' => [
{
'NOMBRE' => 'ALTIMAS,
'MONTO' => '0.0',
'PAIS_CODIGO' => '522',
'GUIAS' => [
{
'LUGRA' => 'CLAVE',
'FECHA' => '2016-11-23',
'NRO' => '2885'
}
],
}
]
},
'xmlns:ns2' => 'http://ws.iid.sd.eedt.cl/MovimientosClienteWS'
}
},
'xmlns:S' => 'http://schemas.xmlsoap.org/soap/envelope/'
};
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Ahora bien, cuando trato de leer el mensaje a través del siguiente script no puedo leerlo:
Using perl Syntax Highlighting
- #!/usr/bin/perl
- # use module
- use XML::Simple;
- use Data::Dumper;
- # create object
- my $xml = new XML::Simple;
- # read XML file
- my $data = $xml->XMLin("TOTAL.xml", ForceArray => ["BULTOS","ITEMS","GUIAS"], SuppressEmpty => '');
- for my $MOV ( @{$data->{Movimiento}} ) {
- print "NOMBRE => $MOV->{NOMBRE} \n";
- }
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
por lo cual tengo que transformar el mensaje de esta forma para que el script lo pueda tomar:
Using text Syntax Highlighting
$VAR1 = {
'Movimiento' => [
{
'NOMBRE' => 'ALTIMAS,
'MONTO' => '0.0',
'PAIS_CODIGO' => '522',
'GUIAS' => [
{
'LUGRA' => 'CLAVE',
'FECHA' => '2016-11-23',
'NRO' => '2885'
}
],
}
]
}
'Movimiento' => [
{
'NOMBRE' => 'ALTIMAS,
'MONTO' => '0.0',
'PAIS_CODIGO' => '522',
'GUIAS' => [
{
'LUGRA' => 'CLAVE',
'FECHA' => '2016-11-23',
'NRO' => '2885'
}
],
}
]
}
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
¿Es posible transformar la primera respuesta SOAP a XML? ¿O bien qué me recomiendan o bien cómo mejorar el script para leer el mensaje original sin tener que cambiar el mensaje?
Gracias.