Ver Mensaje Individual
  #10 (permalink)  
Antiguo 13/03/2007, 09:04
Avatar de enriqueplace
enriqueplace
 
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Re: Integración PHP / Java a través de Webservices (POO)

Les comparto nuestros avances y pruebas:

Código PHP:
<?php

class Cliente{
    public 
$nombre;
    public 
$direccion;
    function 
__construct($n,$d){
        
$this->nombre $n
        
$this->direccion $d
    }
}
$clientSoap = new SoapClient("http://sitio.com:8080/WSFinancialFacade?wsdl ");

$unCliente = new Cliente("enrique""parque posadas");

$unObjetoRetornado $clientSoap->hola$unCliente ) ;

var_dump($unObjetoRetornado);

echo 
"Retorno: ".$unObjetoRetornado->nombre;

?>
Resultado

Código PHP:
object(stdClass)#4 (2) { 
   
["nombre"]=>  string(20
   [
"direccion"]=>  string(20
}

RetornoMi nombre es "enrique" 
Otras pruebas

Código PHP:
var_dump($clientSoap->__getFunctions()); 
Retorna

Código PHP:
array(1) { 
   [
0]=>  string(27"Cliente hola(Cliente $c)" 

Ejecuto

Código PHP:
var_dump($clientSoap->__getTypes()); 
Retorna

Código PHP:
array(1) { 
   [
0]=> string(53"struct Cliente { string nombre; string direccion; }" 

Resumiendo

Se logra a través del wsdl armar algo de lo que está del lado del servidor, pero dinámicamente. Según me comenta mi colega en java tiene la opción de hacer wsdl2java (o algo similar) y generar estáticamente la estructura del lado del cliente (como un cabezal), así, si quiere usarla sabe como hacerlo sin tener que solicitar información extra. En el caso opuesto (php), estaríamos armando siempre dinámicamente la estructura pero de forma incompleta (mucho menos información).

Los DTOs sería en este caso la clase Cliente que viaja por el WS.

¿No estamos tan lejos ni tan mal, no?
__________________
Blog phpsenior.com Cursos a Distancia surforce.com