Servicio web SOAP en Java con NetBeansCrear nuevo proyectoLo primero es crear un nuevo proyecto, así que...1. Creamos un N...
3. En los ajustes del servidor, seleccionamos GlassFish, como viene siendohabitual durante el curso.4. Y Terminar¿Código?C...
Creación del Servicio WebEn NetBeans es muy sencillo crear un Servicio Web. Basta seleccionar el nombre delproyecto (Holat...
Añadir operacionesPara añadir operaciones hay que posicionarse sobre el Servicio Web y seleccionar AddOperation...Otra for...
ServicioWeb.javaCon eso se generará automáticamente el código esqueleto que puedo modificar para queme retorne "Hola, " + ...
return "Hola, " + nombre;}}ProbémosloPara eso primero hay que desplegar el proyecto en el servidor (el menú contextual del...
Aquí, por ejemplo, si introducimos Oscar en el formulario, se puede ver el código queentrega el servicio Web al cliente.di...
<S:Body><ns2:diHola xmlns:ns2="http://hola/"><nombre>Oscar</nombre></ns2:diHola></S:Body></S:Envelope>SOAP Response<?xml v...
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"style="document"/><operation name="diHola"><soap:operation s...
Upcoming SlideShare
Loading in...5
×

Servicio web soap en java con net beans

6,325

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,325
On Slideshare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Servicio web soap en java con net beans

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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>

×