Cómo escribir un servicio web sencillo
1 Condiciones del sistema:
Eclipse Java EE IDE para desarrolladores web
p>
Java SE 6
Windows XP
2. Construcción del entorno básico:
1) Instalar Java Se6 JDK: Descargar Java SE6 JDK, Doble -Haga clic en él para instalar las opciones predeterminadas.
2) Instalación y configuración de Eclipse:
Descomprimir directamente durante la instalación.
Hay dos puntos en la configuración, Ventana>Preferencias>Java>JRE instalados. Asegúrese de que estén configuradas las siguientes configuraciones:
La ruta de instalación puede ser ligeramente diferente.
Preferencias de ventana y gt y compilador gtJava y gt Asegúrese de que estén configuradas las siguientes configuraciones:
3. Cree el proyecto del lado del servidor y los paquetes y clases relacionados:
Cree un proyecto Java llamado wsServerHelloWorld:
Cree un paquete en este proyecto: org.gnuhpc.wsServer
Cree una clase en este paquete: SayHello.
Ingrese el siguiente código en el archivo SayHello.java:
Paquete org.GNU HPC.ws server;
Importar javax.jws.webservice; p>
p>
@WebService
Clase pública SayHello {
Cadena final estática privada SALUTATION = " Hola ";
Cadena pública getGreeting (Nombre de cadena){
Responder al título + " " + nombre;
}
}
Cabe señalar que @ WebService es implementado por Java Introducido por la especificación de metadatos de servicios web en SE 5, se llama anotaciones o metadatos. La actualización de la especificación del servicio web en Java SE 6 y la especificación JAX-WS (Java API para servicios web XML) 2.0 facilita la creación y la llamada de nuestros servicios web. Con estas nuevas características, podemos crear servicios web a partir de clases Java con anotaciones simples. Los desarrolladores especifican sus clases y métodos de antemano con anotaciones, y las clases le dicen al motor de ejecución que los habilite en forma de operaciones y servicios web. Esta anotación puede producir un servicio web implementable, que es una anotación de mapeo WSDL que conecta el código fuente de Java con elementos WSDL que representan el servicio web.
4. Utilice Ant para generar código del lado del servidor:
Primero cree un nuevo archivo en el proyecto: build.xml, luego use open con >; siguiente código de script:
& ltproject default="wsgen "
& lttarget name="wsgen "
& ltexec executable="wsgen " >
& ltarg line="-cp.
/bin-keep-s/src-d/bin
org . Servidor GNU HPC . saluda "/& gt;
& lt/exec & gt; p>
& lt/target & gt;
& lt/project & gt;
El objetivo de ejecución predeterminado es WSGEN y puede crear un proyecto que pueda utilizar WebService. Clase, esta clase genera todos los archivos de código fuente y archivos de clase binarios compilados para la publicación de servicios web. También genera WSDL y servicios web compatibles de esta clase.
El nombre de destino es wsgen y los parámetros del comando específico son. Para:
-cp es la ruta de clase.
Los archivos Java se generan después de -keep
¿Dónde están los archivos fuente generados por -s? p>
¿Dónde colocar el precio de salida generado por -d?
Luego ejecute con la opción de compilación Ant:
Después de indicar que la ejecución fue exitosa, actualicemos el proyecto.
Podemos ver los resultados en el área del proyecto de la siguiente manera:
5. Servicio web distribuido
Cree una clase RunService en org.gnuhpc.wsServer:
Paquete org.GNU HPC.ws servidor;
Importar javax.XML.ws.endpoint;
Clase pública RunService {
/**
*@paramargs
*/
Public static void main(String[] args) {
system out. println(" saluda Web El servicio se ha iniciado. ");
endpoint. Publish(" http://localhost:8080/wsserver ejemplo ",
nuevo saluda. ());
}
}
Ejecute el modo de ejecución y la aplicación gtJava. El resultado que obtenemos es que el lado del servidor de este servicio web ha sido. iniciado
6. Ver WSDL:
Ventana>ShowView>Others>General>Internal Web Browser e ingrese: http://localhost:8080/wsserve example?wsdl
Usted puede. vea qué información está registrada en WSDL. Puede detener el servidor después de leer esto.
7. Monitorear el servidor
Después de crear el servidor, podemos usar Eclipse Web Services Explorer para monitorear el servidor.
Ventana & gtOpen Perspective & gtOtros & gtJavaEE
Abra el navegador de servicios web de Eclipse.
Haga clic en el botón de la página WSDL en la esquina superior derecha:
Haga clic en la página de inicio de WSDL e ingrese: http://localhost:8080/wsserver ¿ejemplo? Wsdl presione el botón Ir, aparecerá la siguiente vista:
Podemos activar una operación de servicio web: haga clic en getGreetings, agregue un parámetro, como gnuhpc, y haga clic en el botón Ir:
8. Cree un proyecto de cliente y paquetes y clases relacionados:
Cree un proyecto Java llamado wsClientHelloWorld y cree un paquete bajo este proyecto: org.gnuhpc.wsClient
9.Utilice Ant para generar el esqueleto del código del cliente:
Al escribir un servicio web, puede utilizar herramientas para generar códigos auxiliares de cliente para llamar a través de WSDL. O puede escribir manualmente el servicio web utilizando la API subyacente. Lo primero es conveniente y lo segundo es flexible.
Ahora lo explicaremos a través del primero:
Crear un nuevo archivo build.xml
Nuevo archivo & gt & gtbuild.xml
& ltproject default=" wsimport " >>p>
& lttarget name="wsimport " >>p>
& ltexec executable="wsimport " >>p>
& ltarg line = "-keep-s . /src -p org . GNU HPC . cliente ws
-d ./bin http://localhost:8080/wsserver ejemplo?wsdl "/>;
</exec > ;
</target>
</project>
Nota: wsgen admite la creación de servicios web a partir de clases Java, wsimport admite la creación de servicios web desde WSDL, correspondientes a Java2WSDL y WSDL2Java en modo JAX-RPC. Debe crearse basándose en el WSDL publicado, razón por la cual RunServer debe ejecutarse primero.
Ejecute el servicio de ejecución del servidor: runas > Aplicación Java & gt;
Ejecute el script Ant para generar código de cliente: ejecutar como >; operación El mensaje es el siguiente:
El código generado es el siguiente:
Este paso lee el WSDL y genera el código auxiliar del cliente. Estos códigos auxiliares son las clases e interfaces de Java que utilizará nuestro código. Estos apéndices proporcionan una interfaz del lado del cliente para funciones del lado del servidor. Por ejemplo, si nuestro servidor proporciona un servicio matemático llamado add. Nuestro código de cliente llamará al método en el código auxiliar y la implementación del código auxiliar encapsulará el método con parámetros, convirtiendo la llamada al método Java en una solicitud de servicio web. Esta solicitud se enviará a un servidor basado en HTTP y se utilizará SOAP como protocolo RPC. El servidor de escucha recibe el mensaje SOAP y (nueve de cada diez veces) lo convierte en una llamada a un método en el servidor.