This rule flags references to <handler> element within web.xml , webservicesclient.xml , webservices.xml , and ejb-jar.xml files. Handlers are additional processing units applied to each request or response. They can be chained together, allowing multiple handlers to process a request in sequence. When a client sends a request, it is processed by each handler in the order specified in the deployment descriptors before being sent to a provider. For example, to log each client request, you can define a handler that reads each request message and writes it to a file. Handlers can also modify requests and responses. Due to the implementation of the new classes listed below, all prveiously overridden or implemented methods in the handler class have been updated.
There has been a number of significant changes in the Handler API between JAX-RPC and JAX-WS, some of these
are:
- A naming convention change. From
javax.xml.rpc.handler.Handler
to
javax.xml.ws.handler.soap.SoapHandler
.
- The removal of a
HandlerInfo
object.
- The removal of the two classes that Handlers were previously required to implement/extend. These were
javax.xml.rpc.handler.Handler
and
javax.xml.rpc.handler.GenericHandler
. Handlers now must implement
javax.xml.ws.handler.soap.SoapHandler
or
javax.xml.ws.handler.LogicalHandler
.
An example of the difference in implementation between JAX-RPC Handlers and JAX-WS SOAPHandlers is the
following example of a LoggingHandler.
When using JAX-RPC Handlers your class declaration would look like
so:
And to define the same class using Soap Handlers in JAX-WS: