Skip to content
Ryan Heaton edited this page Sep 17, 2015 · 1 revision

In an effort to focus on Enunciate's core functionality, Enunciate 2 made some significant changes to its processing model. In addition to overhauling the core in order to support Java 8, Enunciate 2 dropped support for packaging up the runtime web application as a war file and focused on generating documentation and client-side code. This means that Enunciate 1 users who were depending on Enunciate to build their application will need to learn how to build their own application.

While this may seem inconvenient at first, most users will find it better to be able to have control over how their application gets packaged, deployed, managed, and configured. This decoupling of Enunciate from the web application packaging process will allow, for example, users to move from Jersey 1 to Jersey 2 without having to wait for Enunciate to update.

Enunciate does, however, provide an optional light runtime library that you might find useful to leverage in your web application that provides some benefits such as easy JAX-RS provider discovery and pretty XML namespaces. For more information, see Enunciate Runtime Utilities.

To get you pointed in right direction, here is some information for different frameworks that you might find useful:

Jersey 1

By default, Enunciate 1 packaged up the JAX-RS API using Jersey 1. Neither the enunciate-maven-plugin nor the Enunciate Ant task will any longer generate a web.xml file or bundle a war file. You'll need to use the Jersey 1 User Guide to learn how to package up your application. Take particular notice of the section on "Deploying a RESTful Web Service". It is recommended that you configure Jersey as a servlet filter to allow requests for the Enunciate-generated documentation to be handled by the servlet container.

You may find it useful to refer to the Jackson 2 API Example which demonstrates how to apply Enunciate 2 to an application using Jersey 1.

Jersey 2

Enunciate 1 never had direct support for Jersey 2, but Enunciate 2 provides a number of examples that use Jersey 2 as the JAX-RS implementation:

Spring

Enunciate 1 had a lot of extra baggage it was carrying to support different Spring configuration options, including support for Spring 2, 3, and 4. Enunciate 2 has shed all of those features, allowing developers to use Spring in their application however they see fit. Each JAX-RS implementation provides their own level of Spring integration support. Look at the Jersey Storage Spring Example to see how Spring can be integrated with Jersey 2.

JBoss

See the JBoss Web Services Documentation for details about how to deploy a JBoss Web service. Take particular note of the JAX-WS User Guide and the Resteasy guide for details about SOAP and JAX-RS on JBoss WS. Also look at the Enunciate JBoss Example to see how Enunciate can integrate with a JBoss application. It is recommended that you configure Resteasy as a servlet filter to allow requests for the Enunciate-generated documentation to be handled by the servlet container.

CXF

See the CXF Deployment Guide for details about how to deploy a CXF Web service. Also look at the Enunciate CXF Example to see how Enunciate can integrate with a CXF application. It is recommended that you configure the CXF servlet to serve up all html and css files as static resources to allow access to the Enunciate-generated documentation.

Clone this wiki locally