Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
16.2. Overview of Handlers and Handler Chains
Each endpoint config may be associated with
PRE
and POST
handler chains. Each handler chain may include JAXWS-compliant handlers. For outbound messages, PRE handler chain handlers are executed before any handler attached to the endpoints using standard JAXWS means, such as the @HandlerChain
annotation. POST handler chain handlers are executed after usual endpoint handlers. For inbound messages, the opposite applies. JAX-WS is a standard API for XML-based web services, and is documented at http://jcp.org/en/jsr/detail?id=224.
A handler chain may also include a
protocol-bindings
attribute, which sets the protocols which trigger the chain to start.
A JAXWS handler is a child element
handler
within a handler chain. The handler takes a class
attribute, which is the fully-qualified classname of the handler class. When the endpoint is deployed, an instance of that class is created for each referencing deployment. Either the deployment class loader or the class loader for module org.jboss.as.webservices.server.integration
must be able to load the handler class.
Procedure 16.1. How to add handler-chains and handlers via the CLI
- Start the JBoss EAP CLI
EAP_HOME/bin/jboss-cli.sh
- Add handler chain and handlers via JBoss CLI:
Example 16.1. Add a handler chain
[standalone@localhost:9999 /] /subsystem=webservices/endpoint-config=Standard-Endpoint-Config/post-handler-chain=my-handlers:add(protocol-bindings="##SOAP11_HTTP")
Example 16.2. Add a handler
[standalone@localhost:9999 /] /subsystem=webservices/endpoint-config=Standard-Endpoint-Config/post-handler-chain=my-handlers/handler=foo-hander:add(class="org.jboss.ws.common.invocation.RecordingServerHandler")
Example 16.3. Add a handler
[standalone@localhost:9999 /] /subsystem=webservices/endpoint-config=Standard-Endpoint-Config/post-handler-chain=my-handlers/handler=bar-handler:add(class="com.arjuna.webservices11.wsarj.handler.InstanceIdentifierInHandler")
- Reload the server:
[standalone@localhost:9999 /] reload
- Confirm the handler-chain and handlers were added correctly:
Example 16.4. Read a handler-chain
[standalone@localhost:9999 /] /profile=default/subsystem=webservices/endpoint-config=Standard-Endpoint-Config/post-handler-chain=my-handlers:read-resource
Example 16.5. Read a handler
[standalone@localhost:9999 /] /profile=default/subsystem=webservices/endpoint-config=Standard-Endpoint-Config/post-handler-chain=my-handlers/handler=bar-handler:read-resource
The options used in the commands above can be modified as required to add or modify handlers.
The handlers available in JBoss EAP can be found in the API Documentation javadocs:
More information about handlers, handler-chains, endpoints and related issues can be also found in the JBoss EAP Development Guide available at https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/?version=6.4