Your SlideShare is downloading. ×
  • Like
  • Save
Servicio web soap en java con net beans
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Servicio web soap en java con net beans

  • 5,214 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,214
On SlideShare
0
From Embeds
0
Number of Embeds
12

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Servicio web SOAP en Java con NetBeansCrear nuevo proyectoLo primero es crear un nuevo proyecto, así que...1. Creamos un Nuevo proyecto de tipo Aplicación Web2. Elegimos un nombre para la aplicación web. La llamaremos “Holate”.
  • 2. 3. En los ajustes del servidor, seleccionamos GlassFish, como viene siendohabitual durante el curso.4. Y Terminar¿Código?Como toda aplicación web, me aparece el típico index.jsp predeterminado en el quepuedo aprovechar de describir el Servicio Web (puedo poner cualquier cosa, enrealidad, porque esto no es parte del servicio web).
  • 3. Creación del Servicio WebEn NetBeans es muy sencillo crear un Servicio Web. Basta seleccionar el nombre delproyecto (Holate en este caso) e ir al menú Archivo>Nuevo. En el apartado de ServiciosWeb seleccionaremos Servicio Web.Como nombre de paquete hemos empleado “hola”.
  • 4. Añadir operacionesPara añadir operaciones hay que posicionarse sobre el Servicio Web y seleccionar AddOperation...Otra forma de añadir operaciones es ir al modo Design donde hay un botón AddOperation....Ponemos un nombre a la operación y podemos especificar los parámetros y su tipo.
  • 5. ServicioWeb.javaCon eso se generará automáticamente el código esqueleto que puedo modificar para queme retorne "Hola, " + nombre:package hola;import javax.jws.WebMethod;import javax.jws.WebParam;import javax.jws.WebService;/**** @author ooscarr*/@WebService()public class ServicioWeb {/*** Web service operation*/@WebMethod(operationName = "diHola")public String diHola(@WebParam(name = "nombre")String nombre) {//TODO write your implementation code here:
  • 6. return "Hola, " + nombre;}}ProbémosloPara eso primero hay que desplegar el proyecto en el servidor (el menú contextual delproyecto; opción Deploy)GENERACIÓN CORRECTA (tiempo total: 7 segundos)Y probamos el servicio web seleccionando el Servicio web y activando la opción TestWeb Service.INFO: Dynamically creating request wrapper Class hola.jaxws.DiHolaINFO: Dynamically creating response wrapper bean Classhola.jaxws.DiHolaResponseINFO: parsing WSDL...INFO: generating code...INFO:compiling code...INFO: Invoking wsimport withhttp://localhost:8080/Holaste/ServicioWebService?WSDLINFO: wsimport successfulINFO: parsing WSDL...INFO: generating code...INFO:compiling code...INFO: Invoking wsimport withhttp://localhost:8080/Holaste/ServicioWebService?WSDLINFO: wsimport successfulSi todo está bien instalado, se debería abrir una ventana del navegador similar a esta:
  • 7. Aquí, por ejemplo, si introducimos Oscar en el formulario, se puede ver el código queentrega el servicio Web al cliente.diHola Method invocationMethod parameter(s)Type Valuejava.lang.String OscarMethod returnedjava.lang.String : "Hola, Oscar"SOAP Request<?xml version="1.0" encoding="UTF-8"?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header/>
  • 8. <S:Body><ns2:diHola xmlns:ns2="http://hola/"><nombre>Oscar</nombre></ns2:diHola></S:Body></S:Envelope>SOAP Response<?xml version="1.0" encoding="UTF-8"?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:diHolaResponse xmlns:ns2="http://hola/"><return>Hola, Oscar</return></ns2:diHolaResponse></S:Body></S:Envelope>WSDLTambién es bueno hacer notar que NetBeans genera automáticamente el archivo WSDL(y su XML Schema también) para ser usado en las implementaciones de los Clientes.<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RIsversion is JAX-WS RI 2.1.5-hudson-$BUILD_NUMBER-. --><definitions targetNamespace="http://hola/" name="ServicioWebService"xmlns:tns="http://hola/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns="http://schemas.xmlsoap.org/wsdl/"><types><xsd:schema><xsd:import namespace="http://hola/"schemaLocation="ServicioWebService_schema1.xsd"/></xsd:schema></types><message name="diHola"><part name="parameters" element="tns:diHola"/></message><message name="diHolaResponse"><part name="parameters" element="tns:diHolaResponse"/></message><portType name="ServicioWeb"><operation name="diHola"><input message="tns:diHola"/><output message="tns:diHolaResponse"/></operation></portType><binding name="ServicioWebPortBinding" type="tns:ServicioWeb">
  • 9. <soap:binding transport="http://schemas.xmlsoap.org/soap/http"style="document"/><operation name="diHola"><soap:operation soapAction=""/><input><soap:body use="literal"/></input><output><soap:body use="literal"/></output></operation></binding><service name="ServicioWebService"><port name="ServicioWebPort" binding="tns:ServicioWebPortBinding"><soap:address location="REPLACE_WITH_ACTUAL_URL"/></port></service></definitions>