Foros del Web » Programando para Internet » PHP »

Error al consumir un WebServices con NuSoap.

Estas en el tema de Error al consumir un WebServices con NuSoap. en el foro de PHP en Foros del Web. El problema es que al intentar leer el response , me tira el siguiente error: Response not of type text/xml: text/html; charset=UTF-8 Busque por internet ...
  #1 (permalink)  
Antiguo 15/11/2011, 12:49
Avatar de @padawan@  
Fecha de Ingreso: julio-2005
Mensajes: 393
Antigüedad: 18 años, 9 meses
Puntos: 6
Error al consumir un WebServices con NuSoap.

El problema es que al intentar leer el response , me tira el siguiente error:

Response not of type text/xml: text/html; charset=UTF-8

Busque por internet y hay mucha gente con el mismo problema, pero no encontre solucion al problema.

Como dije antes uso NuSoap y el codigo que utilizo de cliente es el siguiente:

Código PHP:

<?php

require_once('nusoap/lib/nusoap.php');

$oSoapClient = new nusoap_client('https://xxxxx.com.ar/ws.php?wsdl'true); 

$aParametros 'xxxx';


//Ejecuto el metodo para invocar el webservices.
$respuesta $oSoapClient->call("mtodo_ws"$aParametros);



// Existe alguna falla en el servicio?
if ($oSoapClient->fault) { // Si
    
echo 'No se pudo completar la operaci&oacute;n';
    die();
} else { 
// No
    
$sError $oSoapClient->getError();
    
// Hay algun error ?
    
if ($sError) { // Si
        
echo 'Error de lectura: ' $sError '<br>';
        echo 
'<pre>' $sError '</pre><br>';
        
//echo '<pre><p style="color:red;">' . htmlspecialchars($oSoapClient->getDebug(), ENT_QUOTES).'</p></pre>';
        
echo '<h2>Request</h2>';
        echo 
'<pre>' htmlspecialchars($oSoapClient->requestENT_QUOTES) . '</pre>';
        echo 
'<h2>Response</h2>';
        echo 
'<pre>' htmlspecialchars($oSoapClient->responseENT_QUOTES) . '</pre>';
        die();
    } 
}



?>
Me tiene que devolver un array con 4 valores, pero antes de tirarme eso me tira el error que puse antes, que puede ser? alguna ayuda?

Aprecio su ayuda.

Saludos.
  #2 (permalink)  
Antiguo 15/11/2011, 14:30
Avatar de @padawan@  
Fecha de Ingreso: julio-2005
Mensajes: 393
Antigüedad: 18 años, 9 meses
Puntos: 6
Respuesta: Error al consumir un WebServices con NuSoap.

Agrego la descripcion de Nusoap del request y el response a ver si ayuda en algo.

Código:
Request

POST /ws.php HTTP/1.0
Host: implementacion.nps.com.ar:443
User-Agent: NuSOAP/0.9.5 (1.123)
Content-Type: text/xml; charset=UTF-8
SOAPAction: "https://implementacion.nps.com.ar/ws.php/PayOnLine_3p"
Content-Length: 606

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="https://xxxx.com.ar/ws"><SOAP-ENV:Body><tnsmetodows xmlns:tns="https://xxxx.com.ar/ws"><Requerimiento xsi:nil="true" xsi:type="tns:RequerimientoStruct_metodows"/></tns:metodows></SOAP-ENV:Body></SOAP-ENV:Envelope>


Response

HTTP/1.1 200 OK
Date: Tue, 15 Nov 2011 20:06:35 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny9 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g
X-Powered-By: PHP/5.2.6-1+lenny9
Content-Length: 1926
Content-Type: text/html; charset=UTF-8

<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/xxxxx/lib/page.php</b> on line <b>107</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /xxxxx/lib/page.php:107) in <b>/xxxxx/lib/NuSoap/nusoap.php</b> on line <b>4272</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /xxxxx/lib/page.phpp:107) in <b>/xxxxx/lib/NuSoap/nusoap.php</b> on line <b>4272</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /xxxxx/lib/page.php:107) in <b>/xxxxx/lib/NuSoap/nusoap.php</b> on line <b>4272</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /var/www/psp/psp/psp/lib/psp_card_number.php:107) in <b>/xxxxx/lib/NuSoap/nusoap.php</b> on line <b>4272</b><br />
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="https://xxxx.com.ar/ws"><SOAP-ENV:Body><ns1:metodowsResponse xmlns:ns1="https://xxxx.com.ar/ws"><Respuesta xsi:type="tns:RespuestaStruct_metodows"><ResponseCod xsi:type="xsd:string">10</ResponseCod><ResponseMsg xsi:type="xsd:string">Error de procesamiento detectado en XXX</ResponseMsg><ResponseExtended xsi:type="xsd:string">Error Interno 1010 - Error no especificado</ResponseExtended></Respuesta></ns1:metodowsResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
  #3 (permalink)  
Antiguo 15/11/2011, 14:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Error al consumir un WebServices con NuSoap.

Al parecer esos warning estan corrompiendo la salida del XML, que espera NuSOAP, te recomiendo los arregles, revisa esta FAQ:

http://www.forosdelweb.com/wiki/PHP:...n_line_4%22%3F

Saludos.
  #4 (permalink)  
Antiguo 15/11/2011, 14:54
Avatar de @padawan@  
Fecha de Ingreso: julio-2005
Mensajes: 393
Antigüedad: 18 años, 9 meses
Puntos: 6
Respuesta: Error al consumir un WebServices con NuSoap.

Cita:
Iniciado por GatorV Ver Mensaje
Al parecer esos warning estan corrompiendo la salida del XML, que espera NuSOAP, te recomiendo los arregles, revisa esta FAQ:

http://www.forosdelweb.com/wiki/PHP:...n_line_4%22%3F

Saludos.
Entiendo, pero el problema es que el webservices no lo puedo tocar, ya que es de un proveedor .
Gracias por la respuesta.
  #5 (permalink)  
Antiguo 15/11/2011, 15:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Error al consumir un WebServices con NuSoap.

En ese caso creo ya tienes la causa, tienes que contactar al proveedor e informarle de esos warnings, ya que es lo que esta causando el problema.
  #6 (permalink)  
Antiguo 15/11/2011, 15:07
Avatar de @padawan@  
Fecha de Ingreso: julio-2005
Mensajes: 393
Antigüedad: 18 años, 9 meses
Puntos: 6
Respuesta: Error al consumir un WebServices con NuSoap.

Cita:
Iniciado por GatorV Ver Mensaje
En ese caso creo ya tienes la causa, tienes que contactar al proveedor e informarle de esos warnings, ya que es lo que esta causando el problema.
Bueno , entiendo entonces mi problema es de otra indole, porque el proveedor curiosamente no me da soporte en esta etapa, es decir el soporte se da recien se realice correctamente la conexion, antes no. No es curioso?? jaja.

Muchas gracias por tu ayuda, mi problema es la relacion cliente-proveedor mas que de programacion me parece no? ja

Saludos.
  #7 (permalink)  
Antiguo 15/11/2011, 15:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Error al consumir un WebServices con NuSoap.

Eso parece, igual esos errores pueden ser causados por problemas de parámetros que debes de enviar, así que igual revisa eso, aunque también si su servicio web estuviera bien programado no debería de marcar esos errores.

Aún así no duele que revises perfectamente que parámetros debes de enviar, a lo mejor por ahí va la cosa, aunque si el soporte es después de la conexión, la conexión ya esta hecha, si no no se mostrarían los mensajes de error.

Saludos.
  #8 (permalink)  
Antiguo 16/11/2011, 11:57
Avatar de @padawan@  
Fecha de Ingreso: julio-2005
Mensajes: 393
Antigüedad: 18 años, 9 meses
Puntos: 6
Respuesta: Error al consumir un WebServices con NuSoap.

Cita:
Iniciado por GatorV Ver Mensaje
Eso parece, igual esos errores pueden ser causados por problemas de parámetros que debes de enviar, así que igual revisa eso, aunque también si su servicio web estuviera bien programado no debería de marcar esos errores.

Aún así no duele que revises perfectamente que parámetros debes de enviar, a lo mejor por ahí va la cosa, aunque si el soporte es después de la conexión, la conexión ya esta hecha, si no no se mostrarían los mensajes de error.

Saludos.
Gracias por tus respuestas, yo tambien creo que hay algun problema en los parametros, pero segun los manuales de especificacion los parametros estan correctos, asi que la unica que me queda es enviarlela consulta a soporte .

Etiquetas: consumir, html, webservice
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 01:29.