Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Novato en SOAP

Estas en el tema de Novato en SOAP en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Saludos, estoy empezando a utilizar los web services, soy bueno en PHP pero este tema de SOAP me tiene perdido. Estoy haciendo mi tesis y ...
  #1 (permalink)  
Antiguo 23/03/2007, 11:03
Avatar de Hacker_Boy  
Fecha de Ingreso: junio-2006
Ubicación: Ecuador
Mensajes: 8
Antigüedad: 17 años, 10 meses
Puntos: 0
Novato en SOAP

Saludos, estoy empezando a utilizar los web services, soy bueno en PHP pero este tema de SOAP me tiene perdido.
Estoy haciendo mi tesis y necesito hacer un login, y en la universidad me dieron una URL, hay 3 métodos, yo necesito solo uno de ellos, que recibe 2 parametros, user y password y me devuelve los datos del usuario.
Mi pregunta es, como hago para llamar a ese metodo desde PHP??
Estoy muy confundido, tengo que escribir algún código en XML??
La direccion que me dieron termina en .asmx, como la debo llamar desde PHP solo le aumento ?WSDL
He visto ejemplos:

<?php
require_once('../lib/nusoap.php');
$client = new soapclient('https:...asmx?WSDL', true,,
$proxyhost, $proxyport, $proxyusername, $proxypassword);
$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
$result = $client->call('datosUsuarios', array('user', 'password'), '', '', false, true);
if ($client->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
} else {
$err = $client->getError();
if ($err) {
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
echo '<h2>Result</h2><pre>';
print_r($result);
echo '</pre>';
}
}
echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
?>

Esta eso correcto???
  #2 (permalink)  
Antiguo 23/03/2007, 12:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Novato en SOAP

Ya lo haz probado?
  #3 (permalink)  
Antiguo 23/03/2007, 14:08
Avatar de Hacker_Boy  
Fecha de Ingreso: junio-2006
Ubicación: Ecuador
Mensajes: 8
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Novato en SOAP

Cita:
Iniciado por GatorV Ver Mensaje
Ya lo haz probado?

Ya lo probé y me sale este error:
Ayudame a interpetar...

Constructor error

wsdl error: HTTP ERROR: CURL Extension, or OpenSSL extension w/ PHP version >= 4.3 is required for HTTPS

Error

HTTP Error: CURL Extension, or OpenSSL extension w/ PHP version >= 4.3 is required for HTTPS

Request

Response

Debug

2007-03-23 16:06:30.089335 soapclient: instantiating wsdl class with doc: ...asmx?WSDL
2007-03-23 16:06:30.090172 wsdl: initial wsdl URL: ...asmx?WSDL
2007-03-23 16:06:30.090502 wsdl: getting WSDL http(s) URL ...asmx?WSDL
2007-03-23 16:06:30.091004 soap_transport_http: scheme = https
2007-03-23 16:06:30.091415 soap_transport_http: host = NAMEHOST
2007-03-23 16:06:30.091702 soap_transport_http: path = /....asmx
2007-03-23 16:06:30.092007 soap_transport_http: query = WSDL
2007-03-23 16:06:30.092313 soap_transport_http: set Host: NAMEHOST
2007-03-23 16:06:30.092657 soap_transport_http: set User-Agent: NuSOAP/0.7.2 (1.94)
2007-03-23 16:06:30.092972 soap_transport_http: set Accept-Encoding: gzip, deflate
2007-03-23 16:06:30.093263 soap_transport_http: set Connection: close
2007-03-23 16:06:30.093562 soap_transport_http: entered send() with data of length: 0
2007-03-23 16:06:30.093870 soap_transport_http: connect connection_timeout 0, response_timeout 30, scheme https, host NAMEHOST, port 443
2007-03-23 16:06:30.094193 wsdl: HTTP ERROR: CURL Extension, or OpenSSL extension w/ PHP version >= 4.3 is required for HTTPS
2007-03-23 16:06:30.094544 soapclient: got wsdl error: HTTP ERROR: CURL Extension, or OpenSSL extension w/ PHP version >= 4.3 is required for HTTPS
2007-03-23 16:06:30.095782 soapclient: call: operation=datosUsuarios, namespace=, soapAction=, rpcParams=1, style=rpc, use=encoded, endpointType=
params=array(0) {
}
headers=bool(false)
2007-03-23 16:06:30.096165 soapclient: serializing param array for operation datosUsuarios
2007-03-23 16:06:30.096459 soapclient: wrapping RPC request with encoded method element
2007-03-23 16:06:30.096960 soapclient: In serializeEnvelope length=31 body (max 1000 characters)=<datosUsuarios></datosUsuarios> style=rpc use=encoded encodingStyle=....../encoding/
2007-03-23 16:06:30.097261 soapclient: headers:
bool(false)
2007-03-23 16:06:30.097568 soapclient: namespaces:
array(0) {.......
  #4 (permalink)  
Antiguo 23/03/2007, 15:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Novato en SOAP

Creo es bastante explicito, necesitas la extension CURL, la extension SSL y PHP4.3 o mayor.
  #5 (permalink)  
Antiguo 23/03/2007, 15:25
Avatar de Hacker_Boy  
Fecha de Ingreso: junio-2006
Ubicación: Ecuador
Mensajes: 8
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Novato en SOAP

Cita:
Iniciado por GatorV Ver Mensaje
Creo es bastante explicito, necesitas la extension CURL, la extension SSL y PHP4.3 o mayor.
La version que tengo instalada en mi equipo es PHP 4.4.4, no se que es la extension CURL, ni la SSL, SSL se que es porque la direccion es https://.
Esos requerimientos son del lado del servidor, supongo.

Mi pregunta es...
El codigo que encontré es funcional??
Asi es que se deben llamar a los metodos de un web service??
Porque yo creía que se debia usar XML..
  #6 (permalink)  
Antiguo 23/03/2007, 16:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Novato en SOAP

SOAP crea un request XML y envia la peticion al servidor, luego regresa el XML y lo "prepara" para ser leido por el cliente.

El codigo funcional puede ser, pero si lo quieres probar necesitas un servidor que soporte SOAP.
  #7 (permalink)  
Antiguo 23/03/2007, 16:58
Avatar de Hacker_Boy  
Fecha de Ingreso: junio-2006
Ubicación: Ecuador
Mensajes: 8
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Novato en SOAP

Cita:
Iniciado por GatorV Ver Mensaje
SOAP crea un request XML y envia la peticion al servidor, luego regresa el XML y lo "prepara" para ser leido por el cliente.

El codigo funcional puede ser, pero si lo quieres probar necesitas un servidor que soporte SOAP.
En este momento lo estoy probando desde mi pc contra el servidor de la universidad, que de ley soporta SOAP, pero despues mi tesis la voy a subir a un webhosting (mihosting.net).. como puedo saber si un servidor soporta SOAP, hay algun código que pueda poner en una pagina php para verificar la configuracion de dicho servidor??

Segun lo que me dices, ese codigo genera en el servidor un Request en XML y me envia un Response tambien en XML...
Y desde PHP tengo q interpretar los datos en el XML...??
  #8 (permalink)  
Antiguo 24/03/2007, 11:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Novato en SOAP

La clase misma ahi te ha dicho que necesita CURL, SSL, y PHP4.3+

La clase SOAP se encarga de decodificar el response en XML y te da un objeto.
  #9 (permalink)  
Antiguo 22/06/2007, 12:48
 
Fecha de Ingreso: junio-2007
Mensajes: 1
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Novato en SOAP

Hola soy nueva en estos foros y al estar leyendo sus temas me e dado cuenta de que a lo mejor pueden ayudarme. saben voy a empezar a hacer mi tesis sobre la "Interoperabilidad de aplicaciones mediante el Protocolo de Acceso a Objetos Simple (SOAP)". e intento Implementar una aplicación compuesta de varios módulos heterogéneos desarrollados en .NET para comunicarse y compartir datos sin ningún problema. Pero no tengo ni idea como empesar ni que hacer NI tampoco que aplicacion darle?. Ojala y puedan ayudarme.

Si tienen alguna idea favor de escribirme a mi mail. [email protected] ya que no vaya a ser que no pueda volver a entrar a este foro. pero si no aqui lo checo garcias.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:47.