SlideShare una empresa de Scribd logo
1 de 22
Introducción a los
Webservices
Contenidos
 Definición
 Protocolos que hacen posible la existencia de los
Webservices
 Webservices en Java
 Ejemplo
Webservices
 Los servicios Web proporcionan una manera de
crear aplicaciones que pueden ser accedidas y
utilizadas por diferentes clientes utilizando
diferentes plataformas.
 Permite invocar funciones de otras aplicaciones
independientemente de cómo se hayan creado
las aplicaciones
 Permite integración de aplicaciones
Webservices
 Los Servicios Web son para los computadores,
lo que las páginas Web para los humanos
 Fortaleza de los WebServices – basados en
estándares
 Protocolos de comunicación
 Formatos de representación de datos
 Lenguajes descriptivos
 Mecanismo de descubrimiento
Protocolos y estándares
 HTTP
 XML
 SOAP, XML-RPC
 WSDL
 UDDI
Protocolos y Estándares
 HTTP
 Un esquema de direccionamiento comprensible.
 Arquitectura Cliente-Servidor.
 HTTP se asienta en el paradigma solicitud/respuesta. La
comunicación se asienta sobre TCP/IP. El puerto por
defecto es el 80, pero se pueden utilizar otros.
Protocolos y Estándares
 HTTP
 Es un protocolo sin conexión y sin estado.
 Después de que el servidor ha respondido la petición del
cliente, se rompe la conexión entre ambos.
 Está abierto a nuevos tipos de datos.
 Cuando un servidor HTTP transmite información de
vuelta a un cliente, incluye una cabecera que le indica al
cliente sobre los tipos de datos que componen el
documento.
Protocolos y Estándares
 XML (eXtended Markup Language)
 Base de los servicios Web
 Permite comunicación entre sistemas de forma
estándar
 Información con estructura
 Utilizado ampliamente en la industria
 Futuro estándar de estructuración de información
Protocolos y Estándares
 SOAP v/s XML-RPC
 Invocación de procedimientos a través de protocolos
estándar
 XML-RPC . Unix Friendly
 SOAP . Arquitectura .NET
 Especifican todas las reglas necesarias para ubicar
servicios Web XML, integrarlos en aplicaciones y
establecer la comunicación entre ellos.
 Incompatibles entre sí
Protocolos y Estándares
 SOAP v/s XML-RPC
 Estandarizados por la W3C
 SOAP lidera en desarrollos de Webservices
 Google posee un servicio Web de búsqueda
implementado con protocolo SOAP
Protocolos y Estándares
 SOAP
 Protocolo de acceso a objetos simple
 soporte completo y minucioso de todo tipo de
servicios Web
 Mas potente que XML-RPC
 Incluye toda una arquitectura a su alrededor
Protocolos y Estándares
 WSDL y UDDI
 El archivo WSDL, en formato XML, indica al
sistema que consulte, qué servicios dispone
 WSDL además da una referencia precisa sobre el
servicio, para poder invocarlo usando los parámetros
adecuados
 UDDI es un Servicio Web en línea que se puede
utilizar desde las aplicaciones para descubrir de
forma dinámica otros servicios en línea
Protocolos y Estándares
 WSDL y UDDI
Cliente Servicio Web
SOAP
SOAP
Registro UDDI
WSDL WSDL
Webservices en Java
 Apache Axis – Implementación de SOAP para
Java y C++
 Continuación del proyecto Apache SOAP
 Deploy de servicios en forma natural
 Requiere un WebServer para operar (Apache
Tomcat)
Ejemplo deploy simple
 Cálculo raíz cuadrada
public class Raiz
{
public double raizCuadrada(String i1)
{
return Math.sqrt(Integer.parseInt(i1));
}
}
 Guardamos clase con extensión .jws en
directorio de Axis
Ejemplo deploy simple
 XML SOAP generado
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<raizCuadradaResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/>
<raizCuadradaReturn xsi:type="xsd:double">2.0</raizCuadradaReturn>
</raizCuadradaResponse>
</soapenv:Body>
</soapenv:Envelope>
Ejemplo deploy simple
 Cliente que utiliza este Webservice
String numero ="465";
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new URL("http://localhost:8080/axis/Raiz.jws"));
call.setOperationName(new QName("http://soapinterop.org/", "RaizCuadrada"));
Double returnValue = (Double)call.invoke(new Object[]{numero});
System.out.println("La raiz de "+numero +" es "+returnValue);
Ejemplo deploy simple
 Tipos de datos estandarizados
 xsd:base64Binary byte[]
 xsd:boolean boolean
 xsd:byte byte
 xsd:dateTime java.util.Calendar
 xsd:decimal java.math.BigDecimal
 xsd:double double
 xsd:float float
 xsd:hexBinary byte[]
 xsd:int int
 xsd:integer java.math.BigInteger
 xsd:long long
 xsd:short short
 xsd:string java.lang.String
 xsd:QNamejavax.xml.namespace.QName
Deploy más elaborado
 Ejemplo: Webservice que retorna una clase creada por nosotros
public class Archivo implements Serializable
{
public String Nombre;
public byte[] Datos;
public Archivo(){}
public void setNombre(String param_Nombre){
Nombre = param_Nombre;}
public void setDatos(byte[] param_Datos){
Datos = param_Datos;}
public byte[] getDatos() {
return Datos; }
public String getNombre(){
return Nombre;}
}
Deploy más elaborado
 Archivo WSDD
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="EventosServidor" provider="java:RPC">
<parameter name="className" value="WS_EventosServidor"/>
<parameter name="allowedMethods" value="*"/>
<beanMapping qname="myNS:Archivo" xmlns:myNS="urn:BeanService"
languageSpecificType="java:Archivo"/>
</service>
</deployment>
Deploy más elaborado
 Cliente
Service service = new Service();
Call call = (Call)service.createCall();
QName archivoqn = new QName("urn:BeanService","Archivo");
call.setOperationName( "descargaEventos" );
call.registerTypeMapping(Archivo.class,archivoqn,new
BeanSerializerFactory(Archivo.class,archivoqn),new
BeanDeserializerFactory(Archivo.class,archivoqn),false);
call.registerTypeMapping(Archivo.class,archivoqn,new
BeanSerializerFactory(Archivo.class,archivoqn),new
BeanDeserializerFactory(Archivo.class,archivoqn));
call.setTargetEndpointAddress(new
URL("http://localhost:8080/axis/services/EventosServidor"));
Archivo[] returnValue = (Archivo[])call.invoke(new Object[]{Fecha,Hora});
Fin

Más contenido relacionado

Similar a Servicios Web II.ppt (20)

Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios
 
Apache axis v1.1
Apache axis v1.1Apache axis v1.1
Apache axis v1.1
 
Servicios web java php-perl-google
Servicios web java php-perl-googleServicios web java php-perl-google
Servicios web java php-perl-google
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Tema 3 0
Tema 3 0Tema 3 0
Tema 3 0
 
Tema 3 0
Tema 3 0Tema 3 0
Tema 3 0
 
Java2 servicios web
Java2 servicios webJava2 servicios web
Java2 servicios web
 
Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web Services
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Servicios WEB
Servicios WEBServicios WEB
Servicios WEB
 
Cjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-wsCjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-ws
 
Presentacion ws
Presentacion wsPresentacion ws
Presentacion ws
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
 
sesion01-traspas.pdf
sesion01-traspas.pdfsesion01-traspas.pdf
sesion01-traspas.pdf
 
Web services
Web servicesWeb services
Web services
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
Web services1
Web services1Web services1
Web services1
 

Más de DiegoRomn20

SistemasGAF2023-ArranqueOdoo.pptx
SistemasGAF2023-ArranqueOdoo.pptxSistemasGAF2023-ArranqueOdoo.pptx
SistemasGAF2023-ArranqueOdoo.pptxDiegoRomn20
 
Presentacion Grupo 6 VALS PERUANO.pptx
Presentacion Grupo 6 VALS PERUANO.pptxPresentacion Grupo 6 VALS PERUANO.pptx
Presentacion Grupo 6 VALS PERUANO.pptxDiegoRomn20
 
Presentacion Planta Don Valentin.pptx
Presentacion Planta Don Valentin.pptxPresentacion Planta Don Valentin.pptx
Presentacion Planta Don Valentin.pptxDiegoRomn20
 
Procyon_Carnelian.pptx
Procyon_Carnelian.pptxProcyon_Carnelian.pptx
Procyon_Carnelian.pptxDiegoRomn20
 
1) Programa de Clases MBA - Internacionalizacion.pptx
1) Programa de Clases MBA - Internacionalizacion.pptx1) Programa de Clases MBA - Internacionalizacion.pptx
1) Programa de Clases MBA - Internacionalizacion.pptxDiegoRomn20
 
COACOM - -nancy-ricky-.pptx
COACOM - -nancy-ricky-.pptxCOACOM - -nancy-ricky-.pptx
COACOM - -nancy-ricky-.pptxDiegoRomn20
 
EXAMENCELIA.pptx
EXAMENCELIA.pptxEXAMENCELIA.pptx
EXAMENCELIA.pptxDiegoRomn20
 
PresentacionSOPORTEC-SG.pptx
PresentacionSOPORTEC-SG.pptxPresentacionSOPORTEC-SG.pptx
PresentacionSOPORTEC-SG.pptxDiegoRomn20
 
PRESENTACION COACOM.pptx
PRESENTACION COACOM.pptxPRESENTACION COACOM.pptx
PRESENTACION COACOM.pptxDiegoRomn20
 
Presentación ROVIDENT TFG.pptx
Presentación ROVIDENT TFG.pptxPresentación ROVIDENT TFG.pptx
Presentación ROVIDENT TFG.pptxDiegoRomn20
 
MODULO DE TFG.pptx
MODULO DE TFG.pptxMODULO DE TFG.pptx
MODULO DE TFG.pptxDiegoRomn20
 
EVAL RIESGOS OBRAS DE ALCANTARILLADO.pptx
EVAL RIESGOS OBRAS DE ALCANTARILLADO.pptxEVAL RIESGOS OBRAS DE ALCANTARILLADO.pptx
EVAL RIESGOS OBRAS DE ALCANTARILLADO.pptxDiegoRomn20
 
EVLUACION DE RIESG SERV GENER.pptx
EVLUACION DE RIESG SERV GENER.pptxEVLUACION DE RIESG SERV GENER.pptx
EVLUACION DE RIESG SERV GENER.pptxDiegoRomn20
 
EVAL RIESGOS MANTENIMIENTO MECANICO.pptx
EVAL RIESGOS MANTENIMIENTO MECANICO.pptxEVAL RIESGOS MANTENIMIENTO MECANICO.pptx
EVAL RIESGOS MANTENIMIENTO MECANICO.pptxDiegoRomn20
 
Presentacion Planta Don Valentin.pptx
Presentacion Planta Don Valentin.pptxPresentacion Planta Don Valentin.pptx
Presentacion Planta Don Valentin.pptxDiegoRomn20
 

Más de DiegoRomn20 (17)

SistemasGAF2023-ArranqueOdoo.pptx
SistemasGAF2023-ArranqueOdoo.pptxSistemasGAF2023-ArranqueOdoo.pptx
SistemasGAF2023-ArranqueOdoo.pptx
 
Presentacion Grupo 6 VALS PERUANO.pptx
Presentacion Grupo 6 VALS PERUANO.pptxPresentacion Grupo 6 VALS PERUANO.pptx
Presentacion Grupo 6 VALS PERUANO.pptx
 
Presentacion Planta Don Valentin.pptx
Presentacion Planta Don Valentin.pptxPresentacion Planta Don Valentin.pptx
Presentacion Planta Don Valentin.pptx
 
Procyon_Carnelian.pptx
Procyon_Carnelian.pptxProcyon_Carnelian.pptx
Procyon_Carnelian.pptx
 
1) Programa de Clases MBA - Internacionalizacion.pptx
1) Programa de Clases MBA - Internacionalizacion.pptx1) Programa de Clases MBA - Internacionalizacion.pptx
1) Programa de Clases MBA - Internacionalizacion.pptx
 
COACOM - -nancy-ricky-.pptx
COACOM - -nancy-ricky-.pptxCOACOM - -nancy-ricky-.pptx
COACOM - -nancy-ricky-.pptx
 
EXAMENCELIA.pptx
EXAMENCELIA.pptxEXAMENCELIA.pptx
EXAMENCELIA.pptx
 
PresentacionSOPORTEC-SG.pptx
PresentacionSOPORTEC-SG.pptxPresentacionSOPORTEC-SG.pptx
PresentacionSOPORTEC-SG.pptx
 
Trabajo UAGRM
Trabajo UAGRMTrabajo UAGRM
Trabajo UAGRM
 
PRESENTACION COACOM.pptx
PRESENTACION COACOM.pptxPRESENTACION COACOM.pptx
PRESENTACION COACOM.pptx
 
Presentación ROVIDENT TFG.pptx
Presentación ROVIDENT TFG.pptxPresentación ROVIDENT TFG.pptx
Presentación ROVIDENT TFG.pptx
 
MODULO DE TFG.pptx
MODULO DE TFG.pptxMODULO DE TFG.pptx
MODULO DE TFG.pptx
 
EVAL RIESGOS OBRAS DE ALCANTARILLADO.pptx
EVAL RIESGOS OBRAS DE ALCANTARILLADO.pptxEVAL RIESGOS OBRAS DE ALCANTARILLADO.pptx
EVAL RIESGOS OBRAS DE ALCANTARILLADO.pptx
 
EVLUACION DE RIESG SERV GENER.pptx
EVLUACION DE RIESG SERV GENER.pptxEVLUACION DE RIESG SERV GENER.pptx
EVLUACION DE RIESG SERV GENER.pptx
 
EVAL RIESGOS MANTENIMIENTO MECANICO.pptx
EVAL RIESGOS MANTENIMIENTO MECANICO.pptxEVAL RIESGOS MANTENIMIENTO MECANICO.pptx
EVAL RIESGOS MANTENIMIENTO MECANICO.pptx
 
Presentacion Planta Don Valentin.pptx
Presentacion Planta Don Valentin.pptxPresentacion Planta Don Valentin.pptx
Presentacion Planta Don Valentin.pptx
 
Presentacion
PresentacionPresentacion
Presentacion
 

Último

12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMCOMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMcespitiacardales
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 

Último (10)

12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMCOMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 

Servicios Web II.ppt

  • 2. Contenidos  Definición  Protocolos que hacen posible la existencia de los Webservices  Webservices en Java  Ejemplo
  • 3. Webservices  Los servicios Web proporcionan una manera de crear aplicaciones que pueden ser accedidas y utilizadas por diferentes clientes utilizando diferentes plataformas.  Permite invocar funciones de otras aplicaciones independientemente de cómo se hayan creado las aplicaciones  Permite integración de aplicaciones
  • 4. Webservices  Los Servicios Web son para los computadores, lo que las páginas Web para los humanos  Fortaleza de los WebServices – basados en estándares  Protocolos de comunicación  Formatos de representación de datos  Lenguajes descriptivos  Mecanismo de descubrimiento
  • 5. Protocolos y estándares  HTTP  XML  SOAP, XML-RPC  WSDL  UDDI
  • 6. Protocolos y Estándares  HTTP  Un esquema de direccionamiento comprensible.  Arquitectura Cliente-Servidor.  HTTP se asienta en el paradigma solicitud/respuesta. La comunicación se asienta sobre TCP/IP. El puerto por defecto es el 80, pero se pueden utilizar otros.
  • 7. Protocolos y Estándares  HTTP  Es un protocolo sin conexión y sin estado.  Después de que el servidor ha respondido la petición del cliente, se rompe la conexión entre ambos.  Está abierto a nuevos tipos de datos.  Cuando un servidor HTTP transmite información de vuelta a un cliente, incluye una cabecera que le indica al cliente sobre los tipos de datos que componen el documento.
  • 8. Protocolos y Estándares  XML (eXtended Markup Language)  Base de los servicios Web  Permite comunicación entre sistemas de forma estándar  Información con estructura  Utilizado ampliamente en la industria  Futuro estándar de estructuración de información
  • 9. Protocolos y Estándares  SOAP v/s XML-RPC  Invocación de procedimientos a través de protocolos estándar  XML-RPC . Unix Friendly  SOAP . Arquitectura .NET  Especifican todas las reglas necesarias para ubicar servicios Web XML, integrarlos en aplicaciones y establecer la comunicación entre ellos.  Incompatibles entre sí
  • 10. Protocolos y Estándares  SOAP v/s XML-RPC  Estandarizados por la W3C  SOAP lidera en desarrollos de Webservices  Google posee un servicio Web de búsqueda implementado con protocolo SOAP
  • 11. Protocolos y Estándares  SOAP  Protocolo de acceso a objetos simple  soporte completo y minucioso de todo tipo de servicios Web  Mas potente que XML-RPC  Incluye toda una arquitectura a su alrededor
  • 12. Protocolos y Estándares  WSDL y UDDI  El archivo WSDL, en formato XML, indica al sistema que consulte, qué servicios dispone  WSDL además da una referencia precisa sobre el servicio, para poder invocarlo usando los parámetros adecuados  UDDI es un Servicio Web en línea que se puede utilizar desde las aplicaciones para descubrir de forma dinámica otros servicios en línea
  • 13. Protocolos y Estándares  WSDL y UDDI Cliente Servicio Web SOAP SOAP Registro UDDI WSDL WSDL
  • 14. Webservices en Java  Apache Axis – Implementación de SOAP para Java y C++  Continuación del proyecto Apache SOAP  Deploy de servicios en forma natural  Requiere un WebServer para operar (Apache Tomcat)
  • 15. Ejemplo deploy simple  Cálculo raíz cuadrada public class Raiz { public double raizCuadrada(String i1) { return Math.sqrt(Integer.parseInt(i1)); } }  Guardamos clase con extensión .jws en directorio de Axis
  • 16. Ejemplo deploy simple  XML SOAP generado <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <raizCuadradaResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/> <raizCuadradaReturn xsi:type="xsd:double">2.0</raizCuadradaReturn> </raizCuadradaResponse> </soapenv:Body> </soapenv:Envelope>
  • 17. Ejemplo deploy simple  Cliente que utiliza este Webservice String numero ="465"; Service service = new Service(); Call call = (Call)service.createCall(); call.setTargetEndpointAddress(new URL("http://localhost:8080/axis/Raiz.jws")); call.setOperationName(new QName("http://soapinterop.org/", "RaizCuadrada")); Double returnValue = (Double)call.invoke(new Object[]{numero}); System.out.println("La raiz de "+numero +" es "+returnValue);
  • 18. Ejemplo deploy simple  Tipos de datos estandarizados  xsd:base64Binary byte[]  xsd:boolean boolean  xsd:byte byte  xsd:dateTime java.util.Calendar  xsd:decimal java.math.BigDecimal  xsd:double double  xsd:float float  xsd:hexBinary byte[]  xsd:int int  xsd:integer java.math.BigInteger  xsd:long long  xsd:short short  xsd:string java.lang.String  xsd:QNamejavax.xml.namespace.QName
  • 19. Deploy más elaborado  Ejemplo: Webservice que retorna una clase creada por nosotros public class Archivo implements Serializable { public String Nombre; public byte[] Datos; public Archivo(){} public void setNombre(String param_Nombre){ Nombre = param_Nombre;} public void setDatos(byte[] param_Datos){ Datos = param_Datos;} public byte[] getDatos() { return Datos; } public String getNombre(){ return Nombre;} }
  • 20. Deploy más elaborado  Archivo WSDD <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="EventosServidor" provider="java:RPC"> <parameter name="className" value="WS_EventosServidor"/> <parameter name="allowedMethods" value="*"/> <beanMapping qname="myNS:Archivo" xmlns:myNS="urn:BeanService" languageSpecificType="java:Archivo"/> </service> </deployment>
  • 21. Deploy más elaborado  Cliente Service service = new Service(); Call call = (Call)service.createCall(); QName archivoqn = new QName("urn:BeanService","Archivo"); call.setOperationName( "descargaEventos" ); call.registerTypeMapping(Archivo.class,archivoqn,new BeanSerializerFactory(Archivo.class,archivoqn),new BeanDeserializerFactory(Archivo.class,archivoqn),false); call.registerTypeMapping(Archivo.class,archivoqn,new BeanSerializerFactory(Archivo.class,archivoqn),new BeanDeserializerFactory(Archivo.class,archivoqn)); call.setTargetEndpointAddress(new URL("http://localhost:8080/axis/services/EventosServidor")); Archivo[] returnValue = (Archivo[])call.invoke(new Object[]{Fecha,Hora});
  • 22. Fin