Foros del Web » Programando para Internet » PHP »

Problemas Com Servicios Web

Estas en el tema de Problemas Com Servicios Web en el foro de PHP en Foros del Web. Hola foro , estoy intentando realizar una llamada a un servicio web y me da el siguiente error Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: ...
  #1 (permalink)  
Antiguo 28/12/2010, 03:54
 
Fecha de Ingreso: diciembre-2010
Mensajes: 12
Antigüedad: 13 años, 3 meses
Puntos: 0
Problemas Com Servicios Web

Hola foro ,
estoy intentando realizar una llamada a un servicio web y me da el siguiente error

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://integracion.es:557/ghjkg03/services/DataVehiclesService' : failed ....

Me han dado un certificado pfx , una url , un xml de entrada y un xml de salida.
La url no termina con ?wdsl.

Lo primero que he hecho es pasar el pfx a pem con openssl.

$com= new SoapClient ($url, array(
'trace'=> 1,
'encoding'=> 'UTF-8',
'local_cert'=>'cert.pem'
));

y con solo crear la el objeto con la url y el certificado me da el error.
.Tanto si lo creo con la libreria soap que va con el php5 que con la nuosop.Alguien me puede ayudar ??
O prubas que pueda realizar para saber si el error esta en el certificado , en la llamada....
muchas grácias.
  #2 (permalink)  
Antiguo 29/12/2010, 05:07
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Problemas Com Servicios Web

Compruebael servicio con un cliente genérico tipo:

http://www.soapclient.com/soaptest.html

También puedes comprobar el WSDL desde el navegador WEb.
Antes de continuar deberías contactar con el proveedor o su documentación, saludos
  #3 (permalink)  
Antiguo 03/01/2011, 08:21
 
Fecha de Ingreso: diciembre-2010
Mensajes: 12
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problemas Com Servicios Web

Antes todo muchas gràcias.Con la url del servicio que tenia este cliente me daba error.
Pero tenia otra que si que me ha funcionado.Me devuelve los metodos con los parametros de las diferentes llamadas.
Pero despres en php creo el cliente

$client = new SoapClient("hhjhjhkjhk?WSDL");

y me sale el mismo error que antes

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'WS_Tarificador.wsdl' : failed to load external entity "WS_Tarificador.wsdl" in C:\Program Files (x86

la url que hay se pone en http://www.soapclient.com/soaptest.html no és la que se pone en la creación del objecto ?

saludos
  #4 (permalink)  
Antiguo 03/01/2011, 11:03
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Problemas Com Servicios Web

Debes usar la url que te da el proveedor del servicio, a veces acaba con wsdl a veces no. Es dificil comprobar todas las variables, si el problema está aquí:

Código PHP:
$client = new SoapClient("hhjhjhkjhk?WSDL"); 
intenta utilizar NUSOAP en lugar de SOAP.
http://www.google.com/search?client=...utf-8&oe=utf-8

1 saludo
  #5 (permalink)  
Antiguo 04/01/2011, 10:47
 
Fecha de Ingreso: diciembre-2010
Mensajes: 12
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problemas Com Servicios Web

Me da error tanto con la librería que soap del php como con el nuSoap

En otro servidor no me da error en la creación del objeto...pero despues me da error en la llamada al método , he utilizado tambien el call...

require_once("NuSoap/lib/nusoap.php");

$servicio = "http://serviciosweb.reale.es:7777/AutoReale/Tarificacion3021?WSDL";

$oSoap = new soapclient($servicio);

$respuesta = $oSoap->listaaseguradoras();


te agracedería mucho tu ayuda ya que me urge y ya llebo bastantes días encallada con esto

muchas grácias !!
  #6 (permalink)  
Antiguo 05/01/2011, 02:36
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Problemas Com Servicios Web

No sé cómo es tu codigo, te paso un ejemplo con nuSOAP:

Código PHP:
error_reporting(E_ALL);
    
ini_set("display_errors"1);
    
date_default_timezone_set("Europe/Madrid");

    
define("WSDL","http://serviciosweb.reale.es:7777/AutoReale/Tarificacion3021?WSDL");
    include_once(
"inc/lib_095/nusoap.php");
    
    
$client = new nusoap_client(WSDLtrue);
    
$xResult false;    
    
    
//Only one Hotel
    
$xResult $client->call("listaaseguradoras", array());

    if(
is_array($xResult)) print_r($xResult);
    if(!
$xResult)die("Sin respuesta para listaaseguradoras()!. ".$client->getError()."");
    echo 
htmlspecialchars($xResult); 
LA respuesta del server es :

Código PHP:
HTTP ErrorCouldnt open socket connection to server http://migracion8:8888/AutoReale/Tarificacion3021 prior to connect(). This is often a problem looking up the host name. 
O sea que parece un tema de DNS o de nombre del servidor. No parece problema del cliente, el WSDL funciona ok. Parece que hay una redirección o algo raro. A partir de aquí sigue buscando este mensaje en Google, encontrarás muchas ideas, un saludo!
  #7 (permalink)  
Antiguo 05/01/2011, 05:00
 
Fecha de Ingreso: diciembre-2010
Mensajes: 12
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problemas Com Servicios Web

muchíssimas grácias por tu ayuda.
Saludos
  #8 (permalink)  
Antiguo 05/01/2011, 05:28
 
Fecha de Ingreso: diciembre-2010
Mensajes: 12
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problemas Com Servicios Web

Finalmente he conseguido conectar.Ha sido con la librería nuSoap y solo pasando la url de la wdsl.


require_once("NuSoap/lib/nusoap.php");

$client = new nusoap_client('http://serviciosweb.reale.es:777/AutoReale/Tarificacion3021?WDSL');

$err = $client->getError();

if ($err)
{
echo '<p><b>Constructor error: ' . $err . '</b></p>';
}

$result = $client->call('listaestadocivil', array());


Ahora me queda solucionar los metodos con parámetros.Creo que es algo del espacio de nombres.

Etiquetas: servicios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:19.