Foros del Web » Programando para Internet » PHP »

PHP OO PROBLEMAS CON web services en PHP

Estas en el tema de PROBLEMAS CON web services en PHP en el foro de PHP en Foros del Web. Hola a todos es un placer estar en este excelente foro. Estoy trabajando en servicios de web (Web Services) en php y cree el servicio ...
  #1 (permalink)  
Antiguo 13/08/2011, 07:58
 
Fecha de Ingreso: agosto-2011
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 1
Pregunta PROBLEMAS CON web services en PHP

Hola a todos es un placer estar en este excelente foro.

Estoy trabajando en servicios de web (Web Services) en php y cree el servicio web, el cual salio bien, pero luego hice el programa que consume o utiliza ese servicio y cuando llega al call-> .... se queda en un bucle podría decir que infinito por que dura bastante minutos y no da ningún resultado.

servicio.php
<?
require_once("/AppServ/php5/lib/nusoap.php");

$ns = 'http://localhost/AppServ/www/'; //Espacio de nombres o sitio; sitio donde estará alojado el web service

$server = new soap_server();
$server->configureWSDL('CanadaTaxCalculator',$ns);
$server->wsdl->schemaTargetNamespace=$ns;
$server->register('CalculateOntarioTax',array('amount' => 'xsd:string'),array('return' => 'xsd:string'),$ns);

function CalculateOntarioTax($amount){

$taxcalc=$amount*0.15;

return new soapval('return','xsd:string',$taxcalc);
}

$server->service($HTTP_RAW_POST_DATA);

?>


cliente.php

<?php

require_once("/AppServ/php5/lib/nusoap.php");

$wsdl='http://localhost/AppServ/www/servicio.php?wsdl';

$client=new nusoap_client($wsdl, 'wsdl');
$param=array('amount'=>'15.00',);

$response= $client->call('CalculateOntarioTax', $param);

echo "<pre>";
print_r($response);
echo "</pre>";

?>



Pienso que esta buscando la dirección correspondiente o no se que otra cosa. Busque en tutoriales, videos e investigue con varios compañeros y me dijeron que es necesario modificar el httpd.conf del apache, pero no se como hacer los cambios correspondientes para que el consumir el servicio sirva.

Les pido el favor me ayude
  #2 (permalink)  
Antiguo 13/08/2011, 09:34
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: PROBLEMAS CON web services en PHP

No veo que hace call()
mostranos el metodo call
  #3 (permalink)  
Antiguo 13/08/2011, 10:02
 
Fecha de Ingreso: agosto-2011
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: PROBLEMAS CON web services en PHP

Hola muchas gracias por responder.

Si no estoy mal o equivocado $client->call('CalculateOntarioTax', $param);

en donde $param=array('amount'=>'15.00',);


El método call() de cliente.php llama a la función CalculateOntarioTax del servicio.php y le envía los parámetros correspondientes que es el número 15 para que calcule la multiplicación y me diga el resultado.

Pero llega al método call() y se queda ahí no continua. No se si hay un problema en la instrucción de este método con la sintaxis, se debe configurar el apache (colocar la ip del computador), ó .....

Última edición por gladiador98; 13/08/2011 a las 10:08
  #4 (permalink)  
Antiguo 13/08/2011, 10:24
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: PROBLEMAS CON web services en PHP

bueno pero quiero ver que hace call()
  #5 (permalink)  
Antiguo 13/08/2011, 11:10
 
Fecha de Ingreso: agosto-2011
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: PROBLEMAS CON web services en PHP

Disculpa no te entiendo.

En el mensaje anterior te explique lo que hace call() o se debe quitar para que funcione cliente.php y utilizar otro metodo ó.... si deseas puedes ejecutarlo en cualquier programa que tenga apache y el nusoap.php.

Última edición por gladiador98; 13/08/2011 a las 11:16
  #6 (permalink)  
Antiguo 13/08/2011, 11:16
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: PROBLEMAS CON web services en PHP

quiero ver el codigo de call() !
  #7 (permalink)  
Antiguo 13/08/2011, 11:19
 
Fecha de Ingreso: agosto-2011
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: PROBLEMAS CON web services en PHP

Es decir la sintaxis del metodo call?
  #8 (permalink)  
Antiguo 13/08/2011, 11:20
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: PROBLEMAS CON web services en PHP

Si !!!!!!!
  #9 (permalink)  
Antiguo 19/08/2011, 17:01
 
Fecha de Ingreso: agosto-2011
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: PROBLEMAS CON web services en PHP

hola disculpa que no había escrito por que he estado muy ocupado.

Llamamos al método call del objeto soapclient o el nusoap_client.

->call("nombre del servicio",$Parametros")


call( <método que queremos ejecutar en el servidor>,

[<un array asociativo con los parámetros que debemos enviar (si existen)>],
[<cadena con el espacio de nombres (namespace)>],
[<cadena con el valor de la acción SOAP>],
[<booleana indicando si esta presente los valores de SOAPVAL en los headers>],
[<booleana la cual ya no se utiliza>],
[<cadena con el style a usar cuando se realiza la serialización de los parametros>],
[<cadena que puede ser "encoded" o "literal" utilizada para serialización de los parametros>]);

Al mismo le pasamos como parámetro el nombre del método que queremos ejecutar en el web service y los parámetros ($Param). En nuestra variable $response tenemos un array con la respuesta del Web Service.

Cuando entra a nusoap.php verifica la función call:

function call($operation,$params=array(),$namespace='http://tempuri.org',$soapAction='',$headers=false,$rpcPar ams=null,$style='rpc',$use='encoded'){

$this->operation = $operation;
$this->fault = false;
$this->setError('');
$this->request = '';
.
.
.
.

y continua pero no encuentra el servicio por tanto no me vota ningún resultado ($response = false)

Etiquetas: services
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 12:11.