Skip to main content

@HandlerChain handlers working in reverse order when using Metro standalone?

1 reply [Last post]
tmulle
Offline
Joined: 2003-09-11
Points: 0

Hi,
I'm seeing odd behaviour when using the @HandlerChain on my webservices. I have defined 3 jax-ws handlers in a file called "soap-handlers.xml". This all works fine and dandy, but instead of the handlers being called from the top down and back up like I've read on the net. It's starting from the bottom and working up the stack then back down.

Everything I read, says the opposite..That I should be seeing HandlerOne->HandlerTwo->HandlerThree->Webservice->HandlerThree->HandlerTwo->HandlerOne

Theses are all server side protocol handlers as well.

Am I missing something? Or is this working correctly? I've tried running on Jetty and JBoss 5.1 GA and the behaviour is the same running on JDK1.7.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<javaee:handler-chains xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 
    <javaee:handler-chain>
        <javaee:handler>
            <javaee:handler-class>org.foo.handler.HandlerOne
            </javaee:handler-class>
        </javaee:handler>
        <javaee:handler>
            <javaee:handler-class>org.foo.handler.HandlerTwo
            </javaee:handler-class>
        </javaee:handler>
        <javaee:handler>
            <javaee:handler-class>org.foo.handler.HandlerThree
            </javaee:handler-class>
        </javaee:handler>
    </javaee:handler-chain>
</javaee:handler-chains>

Thanks..
- Tim

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
tmulle
Offline
Joined: 2003-09-11
Points: 0

More information:

I noticed that we are running "webservices-rt-2.0.1.jar" in our maven builds, but this version is required because we also use OpenAM and if I try to use a new version we have issues.

Not sure if this helps..

<dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>webservices-rt</artifactId>
            <version>2.0.1</version>
        </dependency>