can u pls check whether
BootstrapHelper.register(factory, omNs);
work alone ? I mean as a client
Michele Mazzucco wrote:
>Hi Deepal,
>
>I don't know how can this happen.
>My handler extends AbstractDispatcher and replaces
>RequestURIBasedDispatcher and it's globally engaged. Please find
>attached axis2.xml and module.xml.
>In the default public constructor I have:
>
>public NodeDispatcher() {
>
> this.factory = (SOAP12Factory) OMAbstractFactory.getSOAP12Factory();
> this.omNs = factory.createOMNamespace(SOAPConstants.URI,
>SOAPConstants.NODE_PREFIX);
>
>
>//Registers the node to the manager
> try {
> if (! registered) {
> // Sends a message to another service running on another tomcat server
>(it works)
> BootstrapHelper.register(factory, omNs);
> registered = true;
> }
> } catch (AxisFault e) {
> if (log.isEnabledFor(Level.FATAL)) {
> log.fatal("Unable to register the node: " +
> e.getLocalizedMessage());
> }
> }
>
>}
>
>and Bootstrap.register is:
>
>static final void register(SOAP12Factory factory, OMNamespace omNs)
>throws AxisFault {
>
> Options options = new Options();
> options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
>
> ServiceClient sender = new ServiceClient();
> EndpointReference managerEPR = new
>EndpointReference(System.getProperty("qosp.manager.epr"));
>
> OperationClient mepClient =
>sender.createClient(ServiceClient.ANON_ROBUST_OUT_ONLY_OP);
> mepClient.setOptions(options);
>
> SOAPEnvelope env = createRegistrationEnvelope(factory, omNs);
>
> MessageContext ctx = new MessageContext();
> ctx.setEnvelope(env);
>
> ctx.setWSAAction(ActionConstants.ADD_NODE_ACTION);
> ctx.setTo(managerEPR);
>
> mepClient.addMessageContext(ctx);
> mepClient.execute(false);
> mepClient.complete(ctx);
>
> if (NodeDispatcher.log.isInfoEnabled()) {
> NodeDispatcher.log.info("Node [" +
> NodeDispatcher.getNodeName() + "]
>registered.");
> }
> }
>
>The exception is thrown after the handler is created.
>
>
>Hope this helps,
>Michele
>
>Deepal Jayasinghe wrote:
>
>
>>Hi Michele;
>>hmm , how can that happen ? when you deploy a handler in server side how
>>does OutInAxisOperation throw an exception , can you please explain the
>>problem a bit .
>>
>>Michele Mazzucco wrote:
>>
>>
>>
>>>Hi all,
>>>
>>>I don't know if this is an Axis2 (snapshot of June 7th) or a Tomcat
>>>problem (I can't see this log into the tomcat log files), however when I
>>>deploy a custom handler I can see in the console a NullPointerException
>>>at OutInAxisOperation:433
>>>
>>>I tried to set $AXIS2_HOME/WEB-INF/classes/log4j.properties
>>>
>>>log4j.logger.org.apache.axis2.enterprise=INFO
>>>and
>>>log4j.rootCategory=INFO, CONSOLE, LOGFILE,
>>>however I can't see the the exception in axis2.log.
>>>
>>>
>>>Michele
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>------------------------------------------------------------------------
>>
>><axisconfig name="AxisJava2.0">
>> <!-- ================================================= -->
>> <!-- Parameters -->
>> <!-- ================================================= -->
>> <parameter name="hotdeployment" locked="false">true</parameter>
>> <parameter name="hotupdate" locked="false">true</parameter>
>> <parameter name="enableMTOM" locked="false">true</parameter>
>>
>> <!--During a fault, stacktrace can be sent with the fault message. The
>> following flag will control -->
>> <!--that behaviour.-->
>> <parameter name="sendStacktraceDetailsWithFaults"
>> locked="false">true</parameter>
>>
>> <!--If there aren't any information available to find out the fault
>> reason, we set the message of the expcetion-->
>> <!--as the faultreason/Reason. But when a fault is thrown from a service
>> or some where, it will be -->
>> <!--wrapped by different levels. Due to this the initial exception
>> message can be lost. If this flag-->
>> <!--is set then, Axis2 tries to get the first exception and set its
>> message as the faultreason/Reason.-->
>> <parameter name="DrillDownToRootCauseForFaultReason"
>> locked="false">false</parameter>
>>
>> <parameter name="userName" locked="false">admin</parameter>
>> <parameter name="password" locked="false">admin</parameter>
>>
>> <!--<parameter name="contextPath" locked="false">axis2</parameter>-->
>> <!--<parameter name="servicePath" locked="false">services</parameter>-->
>> <!--Set the flag to true if you want to enable transport level session
>> mangment-->
>> <parameter name="manageTransportSession" locked="false">false</parameter>
>>
>> <!-- If you have a frontend host which exposes this webservice using a
>> different public URL -->
>> <!-- use this parameter to override autodetected url -->
>> <!--<parameter name="httpFrontendHostUrl"
>> locked="false">https://someotherhost/context</parameter>-->
>>
>>
>> <!-- The way of adding listener to the system-->
>> <!-- <listener class="org.apache.axis2.ObserverIMPL">-->
>> <!-- <parameter name="RSS_URL"
>> locked="false">http://127.0.0.1/rss</parameter>-->
>> <!-- </listener>-->
>>
>> <!-- ================================================= -->
>> <!-- Message Receivers -->
>> <!-- ================================================= -->
>> <!--This is the Deafult Message Receiver for the system , if you want to
>> have MessageReceivers for -->
>> <!--all the other MEP implement it and add the correct entry to here , so
>> that you can refer from-->
>> <!--any operation -->
>> <!--Note : You can ovride this for particular service by adding the same
>> element with your requirement-->
>> <messageReceivers>
>> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
>>
>> class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
>> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
>>
>> class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
>> </messageReceivers>
>> <!-- ================================================= -->
>> <!-- Transport Ins -->
>> <!-- ================================================= -->
>> <transportReceiver name="http"
>>
>> class="org.apache.axis2.transport.http.SimpleHTTPServer">
>> <parameter name="port" locked="false">6060</parameter>
>> <!--If you want to give your own host address for EPR generation-->
>> <!--uncommet following paramter , and set as you required.-->
>> <!--<parameter name="hostname"
>> locked="false">http://myApp.com/ws</parameter>-->
>> </transportReceiver>
>>
>> <!--Uncomment if you want to have SMTP transport support-->
>> <!--<transportReceiver name="mail"
>> class="org.apache.axis2.transport.mail.SimpleMailListener">-->
>> <!--<parameter name="transport.mail.pop3.host"
>> locked="false">127.0.0.1</parameter>-->
>> <!--<parameter name="transport.mail.pop3.user"
>> locked="false">axis2</parameter>-->
>> <!--<parameter name="transport.mail.pop3.password"
>> locked="false">axis2</parameter>-->
>> <!--<parameter name="transport.mail.pop3.port"
>> locked="false">110</parameter>-->
>> <!--<parameter name="transport.mail.replyToAddress" locked="false">[EMAIL
>> PROTECTED]</parameter>-->
>> <!--</transportReceiver>-->
>>
>> <transportReceiver name="tcp"
>> class="org.apache.axis2.transport.tcp.TCPServer">
>> <parameter name="port" locked="false">6060</parameter>
>> <!--If you want to give your own host address for EPR generation-->
>> <!--uncommet following paramter , and set as you required.-->
>> <!--<parameter name="hostname"
>> locked="false">tcp://myApp.com/ws</parameter>-->
>> </transportReceiver>
>>
>> <!--Uncomment this if you want JMS transport support-->
>> <!--<transportReceiver name="jms"
>> class="org.apache.axis2.transport.jms.SimpleJMSListener">-->
>> <!--<parameter name="transport.jms.Destination"
>> locked="false">dynamicQueues/FOO</parameter>-->
>> <!--<parameter name="java.naming.factory.initial" locked="false">-->
>> <!--org.activemq.jndi.ActiveMQInitialContextFactory</parameter>-->
>> <!--<parameter name="java.naming.provider.url"
>> locked="false">tcp://localhost:61616</parameter>-->
>> <!--</transportReceiver>-->
>>
>> <!-- ================================================= -->
>> <!-- Transport Outs -->
>> <!-- ================================================= -->
>>
>> <transportSender name="tcp"
>>
>> class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
>> <transportSender name="local"
>>
>> class="org.apache.axis2.transport.local.LocalTransportSender"/>
>> <transportSender name="jms"
>> class="org.apache.axis2.transport.jms.JMSSender"/>
>> <transportSender name="http"
>>
>> class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
>> <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
>> <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
>> </transportSender>
>> <transportSender name="https"
>>
>> class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
>> <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
>> <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
>> </transportSender>
>>
>> <!-- Uncomment this one with the appropriate papameters to enable the
>> SMTP transport Receiver
>> <transportSender name="mailto"
>> class="org.apache.axis2.transport.mail.MailTransportSender">
>> <parameter name="transport.mail.smtp.host"
>> locked="false">127.0.0.1</parameter>
>> <parameter name="transport.mail.smtp.user"
>> locked="false">axis2</parameter>
>> <parameter name="transport.mail.smtp.password"
>> locked="false">axis2</parameter>
>> <parameter name="transport.mail.smtp.port"
>> locked="false">25</parameter>
>> </transportSender>
>> -->
>>
>> <!-- ================================================= -->
>> <!-- Global Modules -->
>> <!-- ================================================= -->
>> <!-- Comment this to disable Addressing -->
>> <module ref="addressing"/>
>>
>> <!-- QOSP computational node module -->
>> <module ref="nodeInterceptor"/>
>>
>>
>> <!--Configuring module , providing parameters for modules whether they
>> refer or not-->
>> <!--<moduleConfig name="addressing">-->
>> <!--<parameter name="addressingPara" locked="false">N/A</parameter>-->
>> <!--</moduleConfig>-->
>>
>> <!-- ================================================= -->
>> <!-- Phases -->
>> <!-- ================================================= -->
>> <phaseOrder type="inflow">
>> <phase name="nodeInterceptorPhase" />
>> <!-- System pre defined phases -->
>> <phase name="Transport">
>> <!--
>> <handler name="RequestURIBasedDispatcher"
>>
>> class="org.apache.axis2.engine.RequestURIBasedDispatcher">
>> <order phase="Dispatch"/>
>> </handler>
>> -->
>> <handler name="SOAPActionBasedDispatcher"
>>
>> class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
>> <order phase="Dispatch"/>
>> </handler>
>> </phase>
>> <phase name="Security"/>
>> <phase name="PreDispatch"/>
>> <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
>> <handler name="AddressingBasedDispatcher"
>>
>> class="org.apache.axis2.engine.AddressingBasedDispatcher">
>> <order phase="Dispatch"/>
>> </handler>
>>
>> <handler name="SOAPMessageBodyBasedDispatcher"
>>
>> class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
>> <order phase="Dispatch"/>
>> </handler>
>> <handler name="InstanceDispatcher"
>> class="org.apache.axis2.engine.InstanceDispatcher">
>> <order phase="PostDispatch"/>
>> </handler>
>> </phase>
>> <!-- System pre defined phases -->
>> <!-- After Postdispatch phase module author or or service author
>> can add any phase he want -->
>> <phase name="OperationInPhase"/>
>> </phaseOrder>
>>
>> <phaseOrder type="outflow">
>> <phase name="nodeInterceptorPhase" />
>> <!-- user can add his own phases to this area -->
>> <phase name="OperationOutPhase"/>
>> <!--system predefined phase-->
>> <!--these phase will run irrespective of the service-->
>> <phase name="PolicyDetermination"/>
>> <phase name="MessageOut"/>
>> </phaseOrder>
>>
>> <phaseOrder type="INfaultflow">
>> <phase name="nodeInterceptorPhase" />
>> <phase name="PreDispatch"/>
>> <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
>> <!--
>> <handler name="RequestURIBasedDispatcher"
>>
>> class="org.apache.axis2.engine.RequestURIBasedDispatcher">
>> <order phase="Dispatch"/>
>> </handler>
>> -->
>> <handler name="SOAPActionBasedDispatcher"
>>
>> class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
>> <order phase="Dispatch"/>
>> </handler>
>>
>> <handler name="AddressingBasedDispatcher"
>>
>> class="org.apache.axis2.engine.AddressingBasedDispatcher">
>> <order phase="Dispatch"/>
>> </handler>
>>
>> <handler name="SOAPMessageBodyBasedDispatcher"
>>
>> class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
>> <order phase="Dispatch"/>
>> </handler>
>> <handler name="InstanceDispatcher"
>> class="org.apache.axis2.engine.InstanceDispatcher">
>> <order phase="PostDispatch"/>
>> </handler>
>> </phase>
>> <!-- user can add his own phases to this area -->
>> <phase name="OperationInFaultPhase"/>
>> </phaseOrder>
>>
>> <phaseOrder type="Outfaultflow">
>> <phase name="nodeInterceptorPhase" />
>> <!-- user can add his own phases to this area -->
>> <phase name="OperationOutFaultPhase"/>
>> <phase name="PolicyDetermination"/>
>> <phase name="MessageOut"/>
>> </phaseOrder>
>></axisconfig>
>>
>>
>>
>>------------------------------------------------------------------------
>>
>><?xml version="1.0" encoding="UTF-8"?>
>>
>>
>><module name="nodeInterceptor" class="ncl.qosp.modules.node.NodeModule">
>> <inflow>
>> <handler name="InFlowNodeHandler"
>> class="ncl.qosp.modules.node.NodeDispatcher">
>> <order phase="nodeInterceptorPhase" />
>> </handler>
>> </inflow>
>>
>> <outflow>
>> <handler name="OutFlowNodeHandler"
>> class="ncl.qosp.modules.node.NodeDispatcher">
>> <order phase="nodeInterceptorPhase"/>
>>
>> </handler>
>> </outflow>
>>
>> <Outfaultflow>
>> <handler name="FaultOutFlowNodeHandler"
>> class="ncl.qosp.modules.node.NodeDispatcher">
>> <order phase="nodeInterceptorPhase"/>
>> </handler>
>> </Outfaultflow>
>>
>> <INfaultflow>
>> <handler name="FaultInFlowNodeHandler"
>> class="ncl.qosp.modules.node.NodeDispatcher">
>> <order phase="nodeInterceptorPhase"/>
>> </handler>
>> </INfaultflow>
>></module>
>>
>>
>>
>>------------------------------------------------------------------------
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>>
--
Thanks,
Deepal
................................................................
~Future is Open~
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]