2009-04-01 20 views
5

Espero crear un servidor Java SOAP que pueda implementar en Tomcat, o en JBoss, o en Geronimo, o en XYZ , etc. etc. etc.Java SOAP Server que se puede implementar en Tomcat, JBoss, Geronimo, etc. etc.

En pocas palabras, debería tener las menores dependencias posibles. Intento evitar bibliotecas fuera de lo que se incluye en una distribución java estándar debido a problemas de licencia/empaquetado/reutilización.

¿Puede proporcionar un enlace a donde debería empezar a buscar, o algún código de ejemplo?

Respuesta

4

Java 1.6 introdujo la posibilidad de crear servicios web SOAP estándar con el estándar JDK.

Hay muchos ejemplos en la web, por ejemplo http://weblogs.java.net/blog/2006/12/12/webservices-jdk-6

IDE NetBeans como también llaman las herramientas necesarias (APT) de forma automática que hace que sea muy fácil para empezar.

Sin embargo, no investigué qué tan bien funcionaría en todos los contenedores disponibles.

+0

¡Gracias, esto es útil! –

1

Apache Axis2 (http://ws.apache.org/axis2/) debe proporcionar lo que está buscando, o JAX-WS (https://jax-ws.dev.java.net/) si desea más peso ligero.

+0

Bien, excepto ellos estoy dependiendo de Axis. ¿Hay alguna manera de hacer esto * sin * otras dependencias/paquetes? –

+0

¿Estás diciendo que quieres un servidor SOAP de JBoss, Tomcat o Geronimo? ¿O preguntas si hay alguno que pueda usarse en TODOS JBoss, Tomcat, Geronimo? Sus opciones son (a) implementarlo usted mismo, (b) usar una implementación desde uno de esos contenedores, o (c) usar una implementación independiente. – Martin

+0

Estoy preguntando si hay uno que se pueda usar en TODOS JBoss, Tomcat y Geronimo, * y * es parte de la biblioteca java estándar/distro. Preferiría * no * depender de nada JBoss, Tomcat, Geronimo o cualquier otra cosa que no forme parte del paquete estándar de Java. –

1

Wow.

http://www.w3.org/TR/soap/

Ahí está la norma. Va a pasar un lote de tiempo en este proyecto. También deberá verificar las especificaciones HTTP y XML para compilar esos componentes.

ignorando XFire y Axis2 es una opción muy, muy caro ...

0

recientemente he usado Metro 1.4 para esto (un componente de código abierto GlassFish) que implementa el método estándar para los servicios web.

Coloque los tarros en un contenedor web Java 5, anote su clase y método con @tags estándar y deje que Metro haga el resto.

He estado muy satisfecho con el rendimiento en un contenedor Jetty.

0

Si utiliza el módulo de servicio web Spring, no necesita Axis o XFire. Creo que es una buena forma de hacerlo si ya estás usando Spring.

Cuestiones relacionadas