Red de conocimiento informático - Espacio del host - Quiero usar Java para crear un servicio web. ¿Cómo debo hacerlo?

Quiero usar Java para crear un servicio web. ¿Cómo debo hacerlo?

Hay muchas respuestas en Internet. La siguiente es una respuesta profesional:

La aplicación de servicios web se ha vuelto cada vez más extendida. Aquí hay varias formas de desarrollar servicios web en Java. sistema, equivalente a realizar un registro.

1.Axis2

Axis es el próximo componente de desarrollo de servicios web de código abierto de Apache. Apareció relativamente temprano y está relativamente maduro. Aquí presentamos principalmente el desarrollo de servicios web con Axis + eclipse. Por supuesto, puede desarrollar y publicar servicios web sin eclipse, pero es más conveniente utilizar eclipse.

(1) Descargue la versión Java EE de eclipse

(2) Descargue axis2

(3) Descargue el complemento axis2 de eclipse

Axis2_Codegen_Wizard

Axis2_Service_Archiver

Se recomienda utilizar la versión 1.3

(4) eclipse instala el complemento axis2

1) Cree uno nuevo en cualquier directorio de la carpeta Axis2, cree un nuevo directorio de eclipse en esta carpeta, cree un nuevo directorio de complementos y un directorio de características en el directorio de eclipse, por ejemplo: D:\programSoftware\eclipse-SVN\Axis2\eclipse ;

2) Descargar Descomprima el complemento axis2 y coloque el archivo descomprimido en el directorio de complementos de eclipse recién creado.

3) Cree un nuevo directorio de enlaces en %eclipse_home%; directorio y cree un nuevo archivo axis2.link en el directorio de enlaces, el contenido es: ruta=D:\programSoftware\eclipse-SVN\Axis2;

4) Reinicie eclipse, haga clic en ·archivo-nuevo. -otro, si ve Axis2 Wizards, significa que el complemento se instaló correctamente.

(5) Instalar axis2

(6) Utilice eclipse para crear un nuevo proyecto web y cree una clase java ordinaria que contenga al menos un método.

(7) Publicar servicio web

1) Haga clic en Archivo-Nuevo-otro en eclipse, abra Axis2 Wizards, seleccione Axis2 Service Archiver y luego Siguiente;

2) Seleccione Ubicación del archivo de clase, que es la ruta de almacenamiento del archivo de clase. Nota: seleccione solo el directorio de clases, no incluya la carpeta del paquete y luego Siguiente;

3) Seleccione Omitir WSDL, luego Siguiente<. /p>

4) Vaya hasta Seleccionar el archivo XML del servicio que se incluirá en el archivo del servicio y marque Generar el xml del servicio automáticamente;

5) Nombre del servicio: complete el nombre de su servicio , Nombre de clase: complete el nombre de la clase, incluido el nombre del paquete, luego haga clic en cargar, luego haga clic en Finalizar, luego el servicio web se publicará exitosamente;

6) Luego vaya a %TOMCAT_HOME%/webapps/axis2 /WEB-INF/services para ver si hay un archivo .aar más;

Nota: el método anterior se publica en el paquete axis2.war. También puede copiar el archivo .aar generado en su archivo actual. Al mismo tiempo, también puede utilizar la función de creación de servicio web de eclipse para publicar su servicio web y seleccionar axis2 para generar su servicio web, de modo que el servicio web se implemente en su aplicación.

2.Apche CXF

CXF también es un servicio web relativamente conveniente y simple de desarrollar. Se puede decir que su integración con Spring es muy buena. Pongamos un ejemplo de servicio web en desarrollo CXF.

1) Cree un nuevo proyecto web en eclipse e importe paquetes de dependencia, como se muestra en la figura:

2) Escriba una interfaz, como por ejemplo:

Nota: Servicio web de desarrollo CXF, los parámetros del método en la interfaz deben ser de esta manera; de lo contrario, el servidor CXF no recibirá el valor del parámetro cuando el cliente lo llame nombre: nombre del parámetro, opcional (se recomienda escribir. it), targetNamespace: namespace, debe completarse, el valor predeterminado es el orden inverso del nombre del paquete, modo: tipo de parámetro, IN significa entrada.

3) Escriba una clase de implementación para implementar el método de interfaz.

4) Integre con Spring y escriba un archivo bean, como: cxf-beans.xml, con el siguiente contenido; :

Código Cxf-beans.xml

< import resources="classpath:META-INF/cxf/cxf-servlet.xml" />

Este archivo es más fácil de entender, así que no lo explicaré.

5) Configurar CXFServlet

Configure CXFServlet en el archivo web.xml, cargue el archivo cxf-beans.xml, el contenido es el siguiente:

Web código .xml

id="WebApp_ID" versión="2.5">

contextConfigLocation

p>

WEB-INF/cxf-beans.xml

org.springframework.web.context.ContextLoaderListener

cxf

org.apache.cxf.transport.servlet.CXFServlet

1

cxf

/services/*

Implemente el proyecto en middleware, como Tomcat, y podrá acceder al servicio web.

3.Servicio web de desarrollo JDK

1) Escriba una clase Java de la siguiente manera:

Código Jdkwebservice.java

Demostración del paquete <; /p>

importar javax.jws.WebParam;

importar javax.jws.WebService

importar javax.xml.ws.Endpoint; @WebService

public class JdkWebService {

return "Simplemente hazlo", + valor + "!"

}

public static void main(String[] args) {

}

}

2) Ejecute la clase java y podrá acceder al servicio web en el navegador.

Nota: Este método no es muy amigable a la hora de desarrollar proyectos web. Podemos escribir una clase de servlet y publicar el servicio web en el método de inicialización de la clase de servlet, de modo que nuestro servidor de middleware nos ayude automáticamente con el servicio web cuando se inicie.

4) xfire

Existen muchos marcos para desarrollar WebService. Cada marco tiene sus propias ventajas. Recientemente, utilicé xfire para practicar el desarrollo de WebService. WebService. Espero un poco de ayuda para principiantes

1. Cree un nuevo proyecto web java llamado TestWebService, agregue el paquete jar relacionado con xfire al directorio lib y escriba la clase de interfaz y la clase de implementación

Código Java

paquete com.lamp.service;

interfaz pública MessageService {

cadena pública getName(nombre de cadena); p>}

[java] ¿ver Plaincopyprint?

paquete com.lamp.service

interfaz pública MessageService {

cadena pública; getName(String name);

}

Clase de implementación

Código Java

paquete com.lamp.service.impl; p>

importar com.lamp.service.MessageService;

clase pública MessageServiceImpl implementa MessageService {

cadena pública getName(nombre de cadena) {

return "hola " + nombre + ", bienvenido al mundo WebService";

}

}

[java] ¿ver Plaincopyprint?

paquete com. lamp.service.impl;

importar com.lamp.service.MessageService;

clase pública MessageServiceImpl implementa MessageService {

public String getName(String) nombre) {

return "hola " + nombre + ", bienvenido al mundo WebService"

}

}

Crear un uno nuevo en la carpeta META-INF del directorio src, luego cree una nueva carpeta xfire debajo de ella y cree un nuevo archivo de configuración services.xml en el directorio xfire

Código XML

< ?xml version="1.0" codificación="UTF-8"?>

MessageService

com.lamp.service. MessageService

com.lamp.service.impl.MessageServiceImpl

p>

[xml] ¿ver Plaincopyprint?

MessageService

com.lamp.service.MessageService< /serviceClass>

com.lamp.service.impl.MessageServiceImpl

Finalmente configure el servlet de xfire en web.xml

Código XML

XFireServlet

XFireServlet

/servlet/XFireServlet/*

< /servlet-mapping>

XFireServlet

/services /*

[xml] ¿ver Plaincopyprint?

XFireServlet

XFireServlet

/servlet/XFireServlet/*

XFireServlet

gt;

/services/*

De esta manera, el servidor -El desarrollo del lado está completo. Ahora comience el desarrollo del cliente.

Cree un nuevo proyecto Java y también introduzca el jar relacionado con xfire. Utilizo ant para generar el objeto proxy en el cliente y crear una nueva compilación. .xml en la ruta del proyecto El código es

Código XML

wsdl="${wsdl.dir }" package="com.lamp.ws.client" overwrite="true"/>

[ xml] ¿ver Plaincopyprint?

< /fileset>

putDirectory="${src.dir}"

wsdl="${wsdl.dir}" paquete="com.lamp.ws.client" overwrite="true"/>