Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: gladiador98 en 12 Agosto 2011, 17:40 pm



Título: crear y Consumir (utilizar) WEB SERVICES (servicios web) en PHP. Ayuda - helpme
Publicado por: gladiador98 en 12 Agosto 2011, 17:40 pm
[FONT="Century Gothic"] 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*.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 esta haciendo.  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   ;D

[/FONT]


Título: Re: CONSUMIR WEB SERVICES O servicios de red en PHP
Publicado por: [u]nsigned en 12 Agosto 2011, 18:05 pm
Código
  1. $taxcalc=$amount*.15;

Tenes un eror de sitaxis, el punto qe esta ente el '*' y el '15' especificamente  :xD

Saludos


Título: Re: CONSUMIR WEB SERVICES O servicios de red en PHP
Publicado por: gladiador98 en 12 Agosto 2011, 23:14 pm
compañero, si tienes razón y gracias por su aporte.  Ahora bien corregí ese error para servicio.php pero al correr o ejecutar cliente.php sigue con el mismo problema se queda en un bucle y no da ningún resultado.

Que debo hacer?


Título: Re: CONSUMIR WEB SERVICES O servicios de red en PHP
Publicado por: gladiador98 en 24 Agosto 2011, 23:01 pm
 :-\
compañeros por favor les pido una ayudita para poder resolver mi pequeño problema.

En sí no encuentra el espacio de nombres en el servicio que debo hacer para que el cliente.php me envuentre el servicio?

espero sus grandes aportes


Título: Re: crear y Consumir (utilizar) WEB SERVICES (servicios web) en PHP. Ayuda - helpme
Publicado por: WHK en 28 Agosto 2011, 14:16 pm
Tienes otro error de sintaxis:
Código:
$param=array('amount'=>'15.00',); 
un array no puede terminar con una coma sola sin contenido.

Lo que puedes hacer es escribir un echo 'x';exit; linea por linea y ver hasta donde se ejecuta y hasta donde no se ejecuta y verás que función es la que te da problemas.

Dale un vistazo al log de errores de php, talves el servidor te está generando errores y el cliente no está preparado para recibir tales datos y por eso se está pegando.

Tienes activado el mostrar errores con error_reporting?, has intentado usar xampp?

Además ten cuidado porque el cliente correctamente escribe <?php pero el servidor comienza con <? y hay que recordar que ese no es un estandard de php, solo funciona cuando configuras php para que tome esos tags cortos pero no es el oficial. Solo en algunos servidores interpreta.

Has intentado visualizar servicio.php desde tu explorador?... te sale en blanco?, pues vee el código fuente, lo mas probable es que veas el código php como comentarios de color rosado, si es así es porque el servidor web no está interpretando el código, lo trata como un simple archivo de texto porque comienza con <? en ves de <?php, muchas veces pasa.


Título: Re: crear y Consumir (utilizar) WEB SERVICES (servicios web) en PHP. Ayuda - helpme
Publicado por: gladiador98 en 30 Agosto 2011, 18:15 pm
Gracias por su aporte WHK

Ya corregí el error del array, <? por <?php en servicio.php, pero en cliente.php se me ejecuta hasta el call y luego nada.

Yo utilizo zend Studio.  No se como activar error_reporting? y no he utilizado xampp, solo instalé el appserver 2.5.10.


Cuando corro directamente desde el explorador la dirección http://localhost/servicio.php me sale:


CanadaTaxCalculator

View the WSDL for the service. Click on an operation name to view it's details

                    CalculateOntarioTax

pero cuando lo corro con la dirección http://localhost/AppServ/www/servicio.php me sale un error......"La URL solicitada / AppServ / www / "; no se encontró en este servidor"


Sin embargo, pregunto que error podría tener en servicio.php? 


Título: Re: crear y Consumir (utilizar) WEB SERVICES (servicios web) en PHP. Ayuda - helpme
Publicado por: WHK en 31 Agosto 2011, 05:18 am
no puedes tener ambos apps instalados, si inatalas xampp debes desinstalar el otro porque no pueden compartir los servicios de proceso del apache, mysql, etc.

Con el error reporting saldrás de todas tus dudas.


Título: Re: crear y Consumir (utilizar) WEB SERVICES (servicios web) en PHP. Ayuda - helpme
Publicado por: gladiador98 en 13 Septiembre 2011, 04:19 am
WHK
Disculpa no haber escrito antes pero un virus ataco mi computadora y me toco formatear el disco

Pero volviendo al tema.  yo tengo apache.  appserve 2.5.10

y dime que es error_reporting? y donde puedo encontrarlo?


Título: Re: crear y Consumir (utilizar) WEB SERVICES (servicios web) en PHP. Ayuda - helpme
Publicado por: gladiador98 en 13 Septiembre 2011, 04:36 am
Yo utilizo windows seven y no se si para que funcione web services en php debe ser Windows XP????

por que para el seven se utiliza el ASP .net ???


Título: Re: crear y Consumir (utilizar) WEB SERVICES (servicios web) en PHP. Ayuda - helpme
Publicado por: [u]nsigned en 13 Septiembre 2011, 15:40 pm
1) No tiene nada que ver, PHP funcionaperfectamente en Windows XP,  Vista , Server 2003/8, Seven..etc, y en muchos isstemas operativos mas.

2) ASP.net es otro lenguaje de programacion web del lado del cliente, al igual que PHP. Y como ya dije para proveer 'Web Service' podes usar ASP.net como PHP (personalmente te recomiendo este ultimo).

error_reporting son los errores que te arroja el interprete de PHP cuando algo no anda bien...pueden ser ERRORES FATALES o simples WARNINGS (alertas).

Saludos


Título: Re: crear y Consumir (utilizar) WEB SERVICES (servicios web) en PHP. Ayuda - helpme
Publicado por: gladiador98 en 13 Septiembre 2011, 16:27 pm
gracias por su respuestas.

para ver esos errores utilizo el zend studio y el error cuando corro el cliente es que no encuentra el sitio donde esta montado el servicio.

Me explico, el programa llega al call y busca Espacio de nombres o sitio donde esta alojado el web services y no lo encuentra, es por eso que no hace nada.
Disculpa la molestia cual será el problema?

por otro lado, tengo el nusoap-0.7.3 y el nusoap-0.9.5, he utilizado este último pero igual el cliente.php no encuentra el seb services



Título: Re: crear y Consumir (utilizar) WEB SERVICES (servicios web) en PHP. Ayuda - helpme
Publicado por: gladiador98 en 14 Septiembre 2011, 19:08 pm
Cordial Saludos a todos.

Quiero darle las gracias a todos por tan excelentes respuestas, las cuales me ayudaron mucho para poder encontrar el problema.

nsigned

Tu tienes toda la razón en tu opinión que PHP funciona perfectamente en cualquier sistema operativo, pero......

cuando se utiliza web services de php en windows seven el cliente.php no me da ninguna respuesta por que el sistema operativo tiene unas propiedades propias para trabajar servicios web,  Sin embargo ejecute los programas servicio.php y cliente.php en el sistema operativo Windows XP y funcionaron perfectamente.


Nuevamente, les doy las gracias a todos por su excelente colaboración en esto que sin sus opiniones nunca hubiera encontrado el problema que tenida.

 ;-)


Sin embargo, si alguien tuviera un ejemplo para poder acceder una base de datos con mas de 1 una tabla con Web Services en php se lo agradecería muchissssimo??