MVC & WebServices


(Luisgamb) #1

Hola a todos, estoy diseñando una aplicación con yii la cual consumirá varios servicios hechos en java que acceden a mi data (esa es la idea) …

me surgen algunas dudas de como manejan el consumo de los web services,los consumo en el controlador y ya no utilizaría el modelo? solo trabajaría con el controlador y la vista a nivel de la aplicación web?? … agradecería alguna sugerencia o xperiencia para como diseñar mi aplicación y la lógica que debería tener. Gracias :)


(Ricobregon) #2

Hola Luis,

Para usar o consumir webservices debe usar la clase SoapClient de la siguiente manera:


$ws = new SoapClient('http://10.10.10.10/Url/file.jsp?wsdl', array('soap_version' => SOAP_1_2));

El primer parámetro es la Url de conexión al webservice terminada en ‘?wsdl’, esto último es importantísimo, así se ahorrará un montón de dolores de cabeza.

El segundo parámetro es para los parámetros de conexión o de protocolo, en mi caso suelo usa SOAP 1.2 (aunque generalmente no hay que indicarlo), pero hay algunos casos en donde hay que especificar SOAP 2.0 o algunos parámetros adicionales.

Saludos y éxitos,

Ricardo


(Luisgamb) #3

Gracias Ricardo x el dato :).

Dime, consumes tus servicios en el controlador?? y q utilidad le das al modelo si solo consumes?.. Agradecería me dijeras la lógica q empleas :)


(Ricobregon) #4

Hola Luis,

Sí, desde el controlador suelo hacer este tipo de cosas, sin embargo, a veces los modelos son útiles si el objetivo es que sean el intermedio entre el webservice y el controlador, y el webservice fuese a ser consumido desde múltiples controladores o en el caso que la base de datos sea accedida a través de webservices, pero bueno, son variaciones en donde se tendría que analizar puntualmente si es mejor hacerlo por modelos o controladores, pero en términos generales es mejor hacerlo desde el controlador.

Saludos y éxitos,

Ricardo


(Tigrillo34) #5

Hola buen día, yo igual ando haciendo uso de Webservices, yo si los estoy poniendo como modelo, ya que los datos los debo mostrar en una vista, lo que ando buscando, es cómo después de recibir los datos desde el webservice, pasarlos al controlador, en forma de lista o de la misma manera que yii lo hace como si la información viniera de una base de datos.

Podrían orientarme?

Gracias


(Christiansalazarh) #6

hola gente, aqui tenemos un tema en el foro de Yii Framework en Español, es muy concurrido:

http://www.yiiframeworkenespanol.org/foro/showthread.php?tid=38


(alfredo aquino) #7

Buen día, cuando llamo en YII2 a:
$ws = new SoapClient(‘http://11.35.93.66:8080/nusoap/servicio.php?wsdl’, array(‘MiFuncion’ => SOAP_1_2));
me sale el error:
‘Class ‘app\controllers\SoapClient’ not found’
algún comentario porfavor


(Eloy Gonzalez) #8

(Rafael Rosales) #9

Hola a todos, sobre el tema quiero hacer una pregunta, yo no he utilizado WebServices, de java me interesa poner a funcionar el iReport para hacer reportes dinamicos, pero no lo he podido implementar con yii, ¿podria ayudarme esto con lo que quiero?, disculpen si mi pregunta se sale del marco.