You have to "engage" the module say in axis2.xml (see how we engage
the addressing module in the default axis2.xml)

thanks,
dims

On 7/5/07, Aristo Togliatti <[EMAIL PROTECTED]> wrote:

Hi!

I am trying to write a custom module fo Axis2 and so far I only managed to
get the INIT method to work, but nothing happen when I call the web service
that is supposed to invoke the modules 'invoke' method...

The handler:

import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.engine.Handler;
import org.apache.axis2.handlers.AbstractHandler;

public class SimpleHandler extends AbstractHandler implements Handler {

        private String name;

        public String getName() {
                return name;
        }

        public InvocationResponse invoke(MessageContext msgContext)
                        throws AxisFault {

                System.out.println("Handler invoked");

System.out.println(msgContext.getAxisOperation().toString());
                return InvocationResponse.CONTINUE;
        }

        public void revoke(MessageContext msgContext) {
                // log.info(msgContext.getEnvelope().toString());
        }

        public void setName(String name) {
                this.name = name;
        }
}


The module


import java.security.Policy;

import org.apache.axis2.AxisFault;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.description.AxisDescription;
import org.apache.axis2.description.AxisModule;
import org.apache.axis2.modules.Module;
import org.apache.neethi.Assertion;

public class SimpleHandlerModule implements Module {

        public void sayHello() {

        }

        public void init(ConfigurationContext configContext, AxisModule
module)
                        throws AxisFault {// Initialize

                System.out.println("INIT MODULE");
                // the
                // module
        }

        public void shutdown(ConfigurationContext configurationContext)
                        throws AxisFault {
                // End of module processing
        }

        public void engageNotify(AxisDescription axisDescription) throws
AxisFault {

        }

        public String[] getPolicyNamespaces() throws AxisFault {

                return null;

        }

        public void applyPolicy(Policy policy, AxisDescription
axisDescription)
                        throws AxisFault {

        }

        public boolean canSupportAssertion(Assertion assertion) {

                return true;
        }

        public void applyPolicy(org.apache.neethi.Policy arg0,
AxisDescription arg1) throws AxisFault {
                // TODO Auto-generated method stub

        }

}



module.xml


<module name="logging" class="SimpleHandlerModule">
   <inflow>
        <handler name="InFlowLogHandler" class="SimpleHandler">
        <order phase="PreDispatch" />
        </handler>
   </inflow>

   <outflow>
        <handler name="OutFlowLogHandler" class="SimpleHandler">
        <order phase="PreDispatch"/>
        </handler>
   </outflow>
</module>




services.xml

<service name="WSMonitor" scope="application">
    <description>

    </description>
    <module ref="logging"/>
    <messageReceivers>
        <messageReceiver
            mep="http://www.w3.org/2004/08/wsdl/in-only";

class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
        <messageReceiver
            mep="http://www.w3.org/2004/08/wsdl/in-out";

class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </messageReceivers>
    <parameter name="ServiceClass">
        TestWS
    </parameter>
</service>


Thanks.

A.


--
Davanum Srinivas :: http://davanum.wordpress.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to