Foros del Web » Programando para Internet » PHP »

Duda con código

Estas en el tema de Duda con código en el foro de PHP en Foros del Web. Hola, Estoy escribiendo un código en PHP para conectarme a un webservice, he modificado tanto la URL como el usuario y el password. El código ...
  #1 (permalink)  
Antiguo 17/08/2010, 03:31
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 13 años, 8 meses
Puntos: 0
Duda con código

Hola,

Estoy escribiendo un código en PHP para conectarme a un webservice, he modificado tanto la URL como el usuario y el password. El código es el siguiente:


<?php

function request($host, $url, $postdata) {
$fp = pfsockopen ( $host, 1184, &$errno, &$errstr, 60 );
if( ! $fp ) return "$errstr ($errno)<br>\n";
fputs ($fp,"POST $url HTTP/1.1\n");
fputs( $fp, "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n" );
fputs ($fp,"Host: $host\n");
fputs ($fp,"Accept: */*\n");
fputs ($fp,"Content-type: application/x-www-form-urlencoded\n");
fputs ($fp,"Content-length: ".strlen($postdata)."\n\n");
fputs ($fp,"$postdata\n\n");
$output = "";
while( !feof( $fp ) ) {
$output .= fgets( $fp, 1024);
}
fclose ( $fp);
return ($output);
}

$host = "www.host.com";
$url = "/pruebas";

$pXML = '<?xml version="1.0" encoding="utf-8"?>
<Login>
<Username>*******</Username>
<Password>*******</Password>
<Language>ENG</Language>
<Product>1</Product>
</Login>';

$pCall = "Login";
$postdata = "pXML=".urlencode($pXML)."&pCall=".urlencode($pCal l);

$resp=request($host, $url, $postdata);


echo $resp;
?>


en la respuesta recibo los caracteres ab antes del inicio del XML y el 0 al final. Estos caracteres me rompen el XML de respuesta devolviendome un error ¿por que puede ser? como puedo solucionarlo?

ab

<?xml version="1.0" encoding="UTF-8" ?>

<Authentication><IDSession><![CDATA[ENG0000000000000010000207484000043347100CN00000000 1281698135500]]></IDSession></Authentication>

0
  #2 (permalink)  
Antiguo 17/08/2010, 06:20
 
Fecha de Ingreso: agosto-2010
Mensajes: 79
Antigüedad: 13 años, 8 meses
Puntos: 2
Respuesta: Duda con código

el ab del principio es raro la verdad... el 0 del final puede ser simplemente el caracter de final de cadena... hay que ver como trabaja el listener que te atiende... Pero por tu lado podrias descartar errores validando que lo que te llegue es 100% seguro eso... podrias probar con un netcat tirar fruta a ver si siempre te devuelve un mensaje que empiece en ab y termine en 0...O sino un tpcdump o con wireshark... segun en que OS estes... pero por como lo planteas.... me da la idea de que el host te devuelve eso..no podes identificar donde empieza el XML y listo?
  #3 (permalink)  
Antiguo 17/08/2010, 06:22
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 14 años, 9 meses
Puntos: 22
Respuesta: Duda con código

El web service al que te conectas, ¿lo has creado tu? Porque el problema parece estar en la respuesta que te envía, no en tu código

Etiquetas: Ninguno
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 00:51.