Foros del Web » Programando para Internet » PHP »

Llamada por HTTP a un servidor de XML

Estas en el tema de Llamada por HTTP a un servidor de XML en el foro de PHP en Foros del Web. Buenos días. Estoy intentando hacer una llamada por HTTP al servidor XML de una empresa, el cual se ha de pasar la identificación, y la ...
  #1 (permalink)  
Antiguo 29/11/2005, 02:35
Usuario no validado
 
Fecha de Ingreso: febrero-2004
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
Llamada por HTTP a un servidor de XML

Buenos días.

Estoy intentando hacer una llamada por HTTP al servidor XML de una empresa, el cual se ha de pasar la identificación, y la petición en XML.

Como puedo hacer una llamada HTTP?

Se puede hacer en PHP. Basicamente el problema es poder enviar por http 5 parametros : del cual unos de ellos es un xml. Y luego tratar la respuesta que ha generado esta petición.

Última edición por Chispi; 29/11/2005 a las 09:30
  #2 (permalink)  
Antiguo 29/11/2005, 06:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Supongo que lo que necesistas es un cliente para un "Web service":

Podrías usar:

Funciones PHP directas (requieres de la extensión correspondiente):
http://www.php.net/soap
Usando PEAR
http://www.onlamp.com/pub/a/php/2003...azon_soap.html
Sólo usando socketes:
http://kouba.at/projects/soap/soap.phps

En general si buscas por "cliente web service" para PHP . .veras muchás más soluciones.

Un saludo,
  #3 (permalink)  
Antiguo 29/11/2005, 09:28
Usuario no validado
 
Fecha de Ingreso: febrero-2004
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
Gracias Cluster,
En lo de SOAP ya habia pensado, a más ya he trabajado con el. Pero no se si funcionará, me explico.
Esta empresa, me comenta que tengo que pasarle una variable xml, en la cual contiene todo el documento xml codificados segun el formato MIME application/x-www-form-urlencoded.

Un ejemplo de petición seria:

<?xml version=1.0 encoding "ISO-8859-1"?>
<pregunta>
<parametros>
<coche>WB</coche>
<tipo>POLO</tipo>
</parametros>
</pregunta>

Con soap dicha peticion seria asi: (mas o menos creo)

<?xml version=1.0 encoding "ISO-8859-1"?>
<soap:Envelope xmlns:xsi=http://url">
<soap:Body>
<existeMarca xmlns ="http://url del webservice">
<parametros>
<coche>WB</coche>
<tipo>POLO</tipo>
</parametros>
</soap:Body>
</soap:Envelope>

No se si funcionaría, le tengo que preguntar a dicha empresa si aceptan sopa.Por otro lado, he conseguico hacerlo por URL de la siguiente manera:
$enlazando="http://url?xml=".$xml;
$enlace=include($enlazando);
echo $enlace

El resultado del echo me da un error, pero de contestación del servidor XML, por lo tanto en principio he conectado, supongo que no le he pasado bien el xml.

Seguire probando por los distintos metodos que me mencionas.

Muchas gracias por tu ayuda.

Un saludo.
  #4 (permalink)  
Antiguo 29/11/2005, 09:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En ese caso .. tendrías que codificar el URL tal vez:
Código PHP:
$enlazando="http://url?xml=".urlencode($xml); 
o usando rawurlencode()

Un saludo,
  #5 (permalink)  
Antiguo 29/11/2005, 09:37
Usuario no validado
 
Fecha de Ingreso: febrero-2004
Mensajes: 32
Antigüedad: 20 años, 2 meses
Puntos: 0
Merci, lo intentaré.
Miraré documentación sobre urlencode y rawurlencode()


Comentaré resultados.

Un saludo.
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 07:34.