Saludos, bueno resulto ser más fácil de lo que esperaba, y por cierto la respuesta estaba en uno de los hilos de por aquí.
Ahora tengo otro problema: no logro desplegar el resultado ni entra en el for(), pero al momento de hacer el print(Dumper) sí me despliega información.
Este es el código:
Using perl Syntax Highlighting
use SOAP
::Lite +trace
=> [qw(debug
)];
use Data
::Dumper;
my $soap = SOAP
::Lite->new(
uri
=>'https://url.go.gt',
on_action
=>(sub { return '"http://url/bancos/EstadoCuenta/UploadEstado"' }),
proxy
=> 'https://url.go.gt/ProxyBancos/srvEstado.asmx?WSDL' ,
);
my $response = $soap->srvEstado({
'strUsuario' =>'xxxxxx',
'strClave' => 'xxxxxx',
'strXMLEntrada' => 'dfdfddffdfCRETO',
});
my %resultado = %{$response->result()};
for my $item (keys %resultado) {
print "$item : $resultado{$item}\n";
}Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
y me tira este resultado que es el mismo que me tira sin que ponga la parte del for()
Using xml Syntax Highlighting
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><namesp1:srvEstado xmlns:namesp1="https://url.gob.gt"><c-gensym3><strXMLEntrada xsi:type="xsd:string">dfdfddffdfCRETO
</strXMLEntrada><strUsuario xsi:type="xsd:string">xxxxxx
</strUsuario><strClave xsi:type="xsd:string">xxxxxx
</strClave></c-gensym3></namesp1:srvEstado></SOAP-ENV:Body></SOAP-ENV:Envelope>Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
- Código: Seleccionar todo
SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Connection: close
Date: Fri, 12 Jun 2009 13:36:46 GMT
Server: Microsoft-IIS/6.0
Content-Length: 983
Content-Type: text/xml; charset=utf-8
Client-Date: Fri, 12 Jun 2009 13:33:35 GMT
Client-Peer: xxx:xxx:xxx:xxx:443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /DC=local/DC=siaf-sag/CN=Proyecto SIAFSAG
Client-SSL-Cert-Subject: /C=GT/ST=Guatemala/L=Guatemala/O=Ministerio de Finanzas Publicas de Guatemala/OU=Proyecto SIAF-SAG/CN=url.go.gt
Client-SSL-Cipher: RC4-MD5
Client-SSL-Warning: Peer certificate not verified
X-AspNet-Version: 1.1.4322
X-Powered-By: ASP.NET
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><UploadEstadoResponse xmlns="http://url/Bancos/srvEstado"><UploadEstadoResult><?xml version="1.0" encoding="utf-16"?><RESULTADO><OPERACIONES_CARGADAS>0</OPERACIONES_CARGADAS><OPERACIONES_RECHAZADAS>0</OPERACIONES_RECHAZADAS><MOVIMIENTOS><MOVIMIENTO><CODIGO_BANCO></BANCO><NUMERO_CUENTA></NUMERO_CUENTA><FECHA_BANCO></FECHA_BANCO><DOCUMENTO_BANCO></DOCUMENTO_BANCO><CODIGO_RETORNO>1001</CODIGO_RETORNO><DESCRIPCION>1001 - Datos de Autenticación Invalidos.</DESCRIPCION></MOVIMIENTO></MOVIMIENTOS></RESULTADO></UploadEstadoCuentaResult></UploadEstadoCuentaResponse></soap:Body></soap:Envelope>
Y al momento de poner el siguiente código
Using perl Syntax Highlighting
print Dumper
$response;Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
me tira lo siguiente
- Código: Seleccionar todo
$VAR1 = bless( {
'_content' => [
'soap:Envelope',
{
'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
'xmlns:xsd' => 'http://www.w3.org/2001/XMLSchema',
'xmlns:soap' => 'http://schemas.xmlsoap.org/soap/envelope/'
},
[
[
'soap:Body',
{},
[
[
'UploadEstadoResponse',
{
'xmlns' => 'http://url/Bancos/srvEstadoCuenta'
},
[
[
'UploadEstadoResult',
{},
"<?xml version=\"1.0\" encoding=\"utf-16\"?><RESULTADO><OPERACIONES_CARGADAS>0</OPERACIONES_CARGADAS><OPERACIONES_RECHAZADAS>0</OPERACIONES_RECHAZADAS><MOVIMIENTOS><MOVIMIENTO><CODIGO_BANCO></BANCO><NUMERO_CUENTA></NUMERO_CUENTA><FECHA_BANCO></FECHA_BANCO><DOCUMENTO_BANCO></DOCUMENTO_BANCO><CODIGO_RETORNO>1001</CODIGO_RETORNO><DESCRIPCION>1001 - Datos de Autenticaci\x{f3}n Invalidos.</DESCRIPCION></MOVIMIENTO></MOVIMIENTOS></RESULTADO>",
undef,
"<?xml version=\"1.0\" encoding=\"utf-16\"?><RESULTADO><OPERACIONES_CARGADAS>0</OPERACIONES_CARGADAS><OPERACIONES_RECHAZADAS>0</OPERACIONES_RECHAZADAS><MOVIMIENTOS><MOVIMIENTO><CODIGO_BANCO></BANCO><NUMERO_CUENTA></NUMERO_CUENTA><FECHA_BANCO></FECHA_BANCO><DOCUMENTO_BANCO></DOCUMENTO_BANCO><CODIGO_RETORNO>1001</CODIGO_RETORNO><DESCRIPCION>1001 - Datos de Autenticaci\x{f3}n Invalidos.</DESCRIPCION></MOVIMIENTO></MOVIMIENTOS></RESULTADO>",
'{http://url/Bancos/srvEstado}UploadEstadoResult',
{}
]
],
undef,
{
'UploadEstadoResult' => "<?xml version=\"1.0\" encoding=\"utf-16\"?><RESULTADO><OPERACIONES_CARGADAS>0</OPERACIONES_CARGADAS><OPERACIONES_RECHAZADAS>0</OPERACIONES_RECHAZADAS><MOVIMIENTOS><MOVIMIENTO><CODIGO_BANCO></BANCO><NUMERO_CUENTA></NUMERO_CUENTA><FECHA_BANCO></FECHA_BANCO><DOCUMENTO_BANCO></DOCUMENTO_BANCO><CODIGO_RETORNO>1001</CODIGO_RETORNO><DESCRIPCION>1001 - Datos de Autenticaci\x{f3}n Invalidos.</DESCRIPCION></MOVIMIENTO></MOVIMIENTOS></RESULTADO>"
},
'{http://url/Bancos/srvEstado}UploadEstadoResponse',
{}
]
],
undef,
{
'UploadEstadoResponse' => $VAR1->{'_content'}[2][0][2][0][4]
},
'{http://schemas.xmlsoap.org/soap/envelope/}Body',
{}
]
],
undef,
{
'Body' => $VAR1->{'_content'}[2][0][4]
},
'{http://schemas.xmlsoap.org/soap/envelope/}Envelope',
{}
],
'_current' => [
$VAR1->{'_content'}
]
}, 'SOAP::SOM' );
No sé si me pueden ayudar diciéndome cómo puedo capturar la parte de <RESULTADO></RESULTADO>, ya que es sobre la cual tengo que trabajar.