You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Wendell J Bouknight <bo...@us.ibm.com> on 2001/11/28 20:43:21 UTC

Changing AXIS Behavior

I was looking at the AxisServer.invoke(...) function and noticed the
following section of code:
....
hName = msgContext.getStrProp( MessageContext.ENGINE_HANDLER );
            if ( hName != null ) {
                if ( (h = getHandler(hName)) == null ) {
                    AxisClassLoader cl = msgContext.getClassLoader();
                    try {
                        category.debug( JavaUtils.getMessage
("tryingLoad00", hName) );
                        Class cls = cl.loadClass( hName );
                        h = (Handler) cls.newInstance();
                    }
                    catch( Exception e ) {
                        h = null ;
                    }
                }
                if ( h != null )
                    h.invoke(msgContext);
                else
                    throw new AxisFault( "Server.error",
                        JavaUtils.getMessage("noHandler00", hName),
                        null, null );
            }
            else {
....

This code is placed immediately before the execution of the various
handlers (transport, global, etc.), so how can one execute it? I'm very
interested in knowing because it might give someone the opportunity to
configure their own SOAP engine by doing some special configuration - I
think. Help me out here someone please. I guess the bigger question is:
what is supposed to be the ENGINE_HANDLER? and how would one
configure/deploy it for their own custom use?

Jason Bouknight
International Business Machines, Inc.
WebSphere Connectivity Clients &
XML Component Development
RTP, NC
(919) 254-8614