2/05/2013

4 lenguajes de programación (PHP, PYTHON, JAVA, GROOVY) y un Web Services – Programa BPM/SOA


Hace algunas semanas realice un programa de formación BPM/SOA, donde se abordaron diversas técnicas y métodos para el desarrollo de servicios de datos y decisión (reglas). El equipo técnico al cual impartí el entrenamiento contaba con una experiencia relevante en diversos lenguajes; lo cual enriqueció la actividad. Durante el entrenamiento, el equipo me plateo crear varios consumidores de servicios web bajo SOAP en diferentes lenguajes, lo cual me pareció una excelente práctica para ver los diferentes modelos de implementación para consumir servicios web.

En este post, podremos observar varias formas de consumir servicios web con diversos lenguajes:

PHP - NUSOAP
@include_once("nusoap/nusoap.php");
$oSoapClient = new nusoap_client('http://10.100.14.232:9763/services/tramiteCRUD?wsdl');
$respuesta = $oSoapClient->call("select_with_key_tramite_operation",array("tramite_id" => 2 ));
print_r($respuesta);
?>

PYTHON
from suds.client import Client
url = 'http://127.0.0.1:9764/services/tramiteWSS?wsdl'
client = Client(url)
print client.service.obtenerIdTramitesParIDs('1')

JAVA
package ve.gob.tramites.services.mppi.client;
import org.apache.axis2.AxisFault;
import ve.gob.tramites.services.mppi.TramiteCRUDStub;
import ve.gob.tramites.services.mppi.TramiteCRUDStub.Insert_tramite_operation;

public class Consumidor{
 public static void main(String[] args) {
  try {
   TramiteCRUDStub stub =new TramiteCRUDStub();
   Insert_tramite_operation objTramiteInsert=new Insert_tramite_operation();
   objTramiteInsert.setTramite_id(20);
   objTramiteInsert.setEstatus("ESTATUS PRUEBA");
   objTramiteInsert.setOrigen("ORIGEN PRUEBA");
  stub.insert_tramite_operation(objTramiteInsert);
  } catch (AxisFault e) {
   System.out.println("Ha ocurrido una Axis exception");
  } catch (Exception e) {
   System.out.println("Ha ocurrido una excepcion.");
  }
 }
}

PHP5 - SoapClient
$parametros['id']=2;
$client = new SoapClient("http://10.100.16.65:9763/services/tramiteidWS?wsdl",$parametros);
$respuesta = $client->selectId($parametros);
print_r($respuesta);
?>
 
Groovy
import wslite.soap.*
def client = new SOAPClient('http://localhost:1021/orden')
def response = client.send(SOAPAction: '') {
    body 
    { 
        'bam:createOrden'('xmlns:bam':'http://bam.service/') 
        { 
             'orden'('xmlns:bam':'http://bam.service/') 
             {  
                      campo1('I');
                      campo2('S');
                      campo3('A'); 
                      campo4('B');
             }             
        } 
    }
}
println response.envelope.Body.createOrdenResponse.return;

Felicitaciones al equipo por su alto nivel técnico, su proactividad, trabajo en equipo y su disposición a compartir con la comunidad su conocimiento. Este post es de ustedes!!!!
From Mijao Blog

No hay comentarios.: