2010-01-29 20 views

Respuesta

12

Sugeriría una implementación de JAX-WS: JAX-WS RI (que es parte de Metro) o Apache CXF. Ambos están muy cerca de una perspectiva de tiempo de ejecución, pero muchas personas encuentran que CXF tiene una mejor documentación (podría ser un criterio importante). Ambos proporcionan integración con Spring si esto te importa (en realidad, los frameworks decentes simplemente no pueden ignorar Spring, así que esto no es una sorpresa).

Spring-WS es otra opción, pero no es compatible con JAX-WS, sólo es compatible con un enfoque contrato de primera (de XSD) - que es una opción filosófica - y no es compatible con muchos estándares WS * (que puede que no necesite aunque)

En cualquier caso, me mantendría alejado de Axis 2 y su horrible arquitectura de implementación y empaquetado (la aplicación web Axis 2 en sí misma es un contenedor para servicios web que deben empaquetarse en archivos específicos). Encuentro totalmente contraproducente. Además de eso, ni siquiera perform really well.

1

Eche un vistazo a Axis. Es bastante simple y fácil de usar. http://ws.apache.org/axis/

+4

Axis apesta tanto, no entiendo por qué la gente lo sigue sugiriendo. –

+3

Su comentario sería más valioso y relevante si se tomó un minuto para explicar por qué cree que Axis apesta tanto. –

+1

@Jim He agregado detalles a mi respuesta para cubrir esto. –

2

marco de Primavera será el ganador definitivo para este tipo de requisito. Spring y sus módulos, que incluyen la seguridad de primavera y los servicios web de muelles, lo hacen adecuado para este.

+0

La primavera es buena, pero escribirás un montón de código – Greg

1

Estoy de acuerdo con la opción Spring-WS. Lo he usado varias veces y rápidamente se convirtió en mi opción de servicio web a menos que haya otros factores que lo descarten específicamente.

Aunque esto es un poco fuera de tema, si estás en la etapa de planificación, haré las siguientes recomendaciones.

  1. Elija un enfoque descendente. Spring-WS definitivamente lo admite (es el método preferido). De esta forma, si realiza cambios en el código subyacente, no tendrá que preocuparse por la actualización accidental de su WSDL. También en el momento del diseño puede considerar el WSDL como el punto de interfaz y no pasar por otros documentos elaborados.

  2. Utilice JAXB para generar sus objetos de solicitud/respuesta.Esto es mucho más fácil a largo plazo y definitivamente ayuda a asegurarse de que esté codificando según lo requiera su WSDL (algunas veces miré objetos generados y vi que no se veían bien solo para descubrir que había modificado el WSDL incorrectamente).

  3. Use anotaciones en sus puntos finales.

Esos son los puntos principales. Buena suerte :-).

Cuestiones relacionadas