Tengo un script para probar la conexión a un webservice por https. Esto es debido a que un desarrollo para webservice que sí funciona en la máquina de pruebas no funciona en producción. El problema de que no funcione al parecer estar en la conexión con el servidor por https.
El script que prueba la conexión es como este:
Using perl Syntax Highlighting
#!/usr/bin/perl
# PROXY SUPPORT
# DEBUGGING SWITCH / LOW LEVEL SSL DIAGNOSTICS
$ENV{HTTPS_DEBUG} = 2;
use LWP::Debug qw(+);
use LWP::UserAgent;
print "\nProduccion\n";
my $ua = LWP::UserAgent ->new (env_proxy => 1);
$ua->proxy(['http'], 'http://1.1.1.1:8080/');
$ua->credentials(
'url.dominio.es:443',
'algo',
'user','pass'
);
my $req = new HTTP::Request('GET', 'https://url.dominio.es/carpeta1/carpeta2/ws?wsdl');
my $res = $ua->request($req);
print $res->code."\n";
# PROXY SUPPORT
# DEBUGGING SWITCH / LOW LEVEL SSL DIAGNOSTICS
$ENV{HTTPS_DEBUG} = 2;
use LWP::Debug qw(+);
use LWP::UserAgent;
print "\nProduccion\n";
my $ua = LWP::UserAgent ->new (env_proxy => 1);
$ua->proxy(['http'], 'http://1.1.1.1:8080/');
$ua->credentials(
'url.dominio.es:443',
'algo',
'user','pass'
);
my $req = new HTTP::Request('GET', 'https://url.dominio.es/carpeta1/carpeta2/ws?wsdl');
my $res = $ua->request($req);
print $res->code."\n";
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Pues en desarrollo me responde 200 y en producción 500.
El caso es que el proxy si es accesible desde producción ya que el antiguo desarrollo lo utiliza (pero no utiliza el https)
Yo creo que está relacionado con el CryptSSLeay y OpenSSL. Pero no tengo acceso a la máquina de producción por lo que estoy dando palos de ciego y no puedo hacer pruebas.
Os paso las versiones de Perl y SSLeay, para ver si me podéis ayudar.
ActivePerl 5.8.8 (window$)
CryptSSLeay 0.57
Gracias, saludos.