Hello charitha Thanks for your help. I did all what u said and now it works fine. I have one more question, quite basic one. If I have to add only handler then what exactly should I include in the axis2.xml file, and where should I call my handler class file as I am having problem with this too. I'll really appreciate your help.
regards Inder Dhillon -----Original Message----- From: Charitha Kankanamge [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 13, 2007 8:22 AM To: [email protected] Subject: Re: AXIS2- Beginner question-regarding adding own modules Hello Inder, I reproduced your issue and it is a bug in modules sample. Please follow the steps given below as a workaround until it is fixed. 1. Add the following line to run.client.servicewithmodule target in ..\samples\userguide\build.xml. <jvmarg value="-Daxis2.xml=${mainDir}/conf/axis2.xml"/> After adding this, you should have the following in the build.xml <target name="run.client.servicewithmodule" depends="compile"> <java classname="userguide.clients.ClientForWebServiceWithModule" classpathref="axis.classpath" fork="true"> <jvmarg value="-Daxis2.repo=${mainDir}/repository"/> <jvmarg value="-Daxis2.xml=${mainDir}/conf/axis2.xml"/> </java> </target> 2. Disable addressing in axis2.xml Comment <module ref="addressing"/> 3. Remove addressing.mar from ../repository/modules 4. Rename sample-logging.mar to logging.mar (This is another bug of Axis2-1.1.1 module sample; see https://issues.apache.org/jira/browse/AXIS2-2040) 5. Now run ant run.client.servicewithmodule regards Charitha Inder Dhillon wrote: > Hello > > I am posting my question again, please help me with this. I am new > user of Axis2 and I am using Axis2-1.1.1 version. I was working on > sample codes, but while working on adding new custom modules, I am not > able to run my client application and its giving me the following error. > > I have checked my axis2.xml file and everything is perfect over there. > I am also attaching my axis2.xml and module.xml files along with this > mail. I'll really appreciate if anyone can help me with this. And one > more question, I was trying to add my own handler but it was not > working fine, could you please tell me where exactly should I mention > my handler class file ( I tried to mention it in axis2.xml along with > the phase rule declaration) > > Thanks in advance. > > Inder Dhillon > >------------------------------------------------------------------------ > ><!-- >/* > * Copyright 2001-2004 The Apache Software Foundation. > * > * Licensed under the Apache License, Version 2.0 (the "License"); > * you may not use this file except in compliance with the License. > * You may obtain a copy of the License at > * > * http://www.apache.org/licenses/LICENSE-2.0 > * > * Unless required by applicable law or agreed to in writing, software > * distributed under the License is distributed on an "AS IS" BASIS, > * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > * See the License for the specific language governing permissions and > * limitations under the License. > */ > --> > ><axisconfig name="AxisJava2.0"> > <!-- ================================================= --> > <!-- Parameters --> > <!-- ================================================= --> > <parameter name="hotdeployment" locked="false">true</parameter> > <parameter name="hotupdate" locked="false">false</parameter> > <parameter name="enableMTOM" locked="false">false</parameter> > <parameter name="enableSwA" locked="false">false</parameter> > > <!--Uncomment if you want to enable file caching for attachments --> > <!--parameter name="cacheAttachments" locked="false">true</parameter> > <parameter name="attachmentDIR" locked="false"></parameter> > <parameter name="sizeThreshold" locked="false">4000</parameter--> > > <!--This will give out the timout of the configuration contexts, in seconds--> > <parameter name="ConfigContextTimeoutInterval" locked="false">30</parameter> > > <!--During a fault, stacktrace can be sent with the fault message. The following flag will control --> > <!--that behaviour.--> > <parameter name="sendStacktraceDetailsWithFaults" locked="false">false</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">axis2</parameter> > > <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.--> > <!--<parameter name="ServicesDirectory" locked="false">service</parameter>--> > <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path--> > <!--<parameter name="ModulesDirectory" locked="false">modules</parameter>--> > > > > <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context--> > <!--root which can configured using the following contextRoot parameter--> > <!--<parameter name="contextRoot" locked="false">axis2</parameter>--> > > <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distingiush those endpoints--> > <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this --> > <!--context path to proper Axis2 servlets--> > <!--<parameter name="servicePath" locked="false">services</parameter>--> > <!--<parameter name="restPath" locked="false">rest</parameter>--> > > > <!--Set the flag to true if you want to enable transport level session mangment--> > <parameter name="manageTransportSession" locked="false">false</parameter> > > <!--Following two parameters will be used to handle REST in Axis2. The default settings will make Axis2 to have two--> > <!--different endpoints, one for REST (AxisRESTServlet) one for SOAP message handling (AxisServlet). But following--> > <!--parameters help to tweak the message handling of two main servlets. --> > > <!-- If the enableRESTInAxis2MainServlet is true, then Axis2MainServlet will handle both SOAP and REST messages --> > <parameter name="enableRESTInAxis2MainServlet" locked="true">false</parameter> > > <!-- Following parameter will completely disable REST handling in both the servlets--> > <parameter name="disableREST" locked="true">false</parameter> > > <!-- This will disable the separate servlet we have for REST handling. --> > <parameter name="disableSeparateEndpointForREST" locked="true">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">8080</parameter> > <!-- Here is the complete list of supported parameters (see example settings further below): > port: the port to listen on (default 6060) > hostname: if non-null, url prefix used in reply-to endpoint references (default null) > originServer: value of http Server header in outgoing messages (default "Simple-Server/1.1") > requestTimeout: value in millis of time that requests can wait for data (default 20000) > requestTcpNoDelay: true to maximize performance and minimize latency (default true) > false to minimize bandwidth consumption by combining segments > requestCoreThreadPoolSize: number of threads available for request processing (unless queue fills up) (default 25) > requestMaxThreadPoolSize: number of threads available for request processing if queue fills us (default 150) > note that default queue never fills up: see HttpFactory > threadKeepAliveTime: time to keep threads in excess of core size alive while inactive (default 180) > note that no such threads can exist with default unbounded request queue > threadKeepAliveTimeUnit: TimeUnit of value in threadKeepAliveTime (default SECONDS) (default SECONDS) > --> > <!-- <parameter name="hostname" locked="false">http://www.myApp.com/ws</parameter> --> > <!-- <parameter name="originServer" locked="false">My-Server/1.1</parameter> --> > <!-- <parameter name="requestTimeout" locked="false">10000</parameter> --> > <!-- <parameter name="requestTcpNoDelay" locked="false">false</parameter> --> > <!-- <parameter name="requestCoreThreadPoolSize" locked="false">50</parameter> --> > <!-- <parameter name="RequestMaxThreadPoolSize" locked="false">100</parameter> --> > <!-- <parameter name="threadKeepAliveTime" locked="false">240000</parameter> --> > <!-- <parameter name="threadKeepAliveTimeUnit" locked="false">MILLISECONDS</parameter> --> > </transportReceiver> > > <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)) > <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener"> > <parameter name="myTopicConnectionFactory" locked="false"> > <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</param eter> > <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter> > <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter> > </parameter> > > <parameter name="myQueueConnectionFactory" locked="false"> > <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</param eter> > <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter> > <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter> > </parameter> > > <parameter name="default" locked="false"> > <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</param eter> > <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter> > <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter> > </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>--> > > <!--Uncomment if you want to have TCP transport support--> > <!--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 --> > > <!-- ================================================= --> > <!-- Transport Outs --> > <!-- ================================================= --> > > <transportSender name="tcp" > class="org.apache.axis2.transport.tcp.TCPTransportSender"/> > <transportSender name="local" > class="org.apache.axis2.transport.local.LocalTransportSender"/> > <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 and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)) > <transportSender name="jms" > class="org.apache.axis2.transport.jms.JMSSender"/> > --> > > <!-- 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"/> > <module ref="soapmonitor"/> > <module ref="logging"/> > <module ref="rampart"/> > <!--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"> > <!-- System pre defined phases --> > <phase name="Transport"> > <handler name="RequestURIBasedDispatcher" > class="org.apache.axis2.engine.RequestURIBasedDispatcher"> > <order phase="Transport"/> > </handler> > <handler name="SOAPActionBasedDispatcher" > class="org.apache.axis2.engine.SOAPActionBasedDispatcher"> > <order phase="Transport"/> > </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="Dispatch"/> > </handler> > </phase> > <!-- System pre defined phases --> > <!-- After Postdispatch phase module author or or service author can add any phase he want --> > <phase name="OperationInPhase"/> > <phase name="soapmonitorPhase"/> > <phase name="loggingPhase"/> > </phaseOrder> > <phaseOrder type="OutFlow"> > <!-- user can add his own phases to this area --> > <phase name="soapmonitorPhase"/> > <phase name="OperationOutPhase"/> > <phase name="loggingPhase"/> > <!--system predefined phase--> > <!--these phase will run irrespective of the service--> > <phase name="PolicyDetermination"/> > <phase name="MessageOut"/> > <phase name="Security"/> > </phaseOrder> > <phaseOrder type="InFaultFlow"> > <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"/> > <phase name="soapmonitorPhase"/> > <phase name="loggingPhase"/> > </phaseOrder> > <phaseOrder type="OutFaultFlow"> > <!-- user can add his own phases to this area --> > <phase name="soapmonitorPhase"/> > <phase name="OperationOutFaultPhase"/> > <phase name="loggingPhase"/> > <phase name="PolicyDetermination"/> > <phase name="MessageOut"/> > </phaseOrder> ></axisconfig> > > > >------------------------------------------------------------------------ > ><!-- >/* > * Copyright 2001-2004 The Apache Software Foundation. > * > * Licensed under the Apache License, Version 2.0 (the "License"); > * you may not use this file except in compliance with the License. > * You may obtain a copy of the License at > * > * http://www.apache.org/licenses/LICENSE-2.0 > * > * Unless required by applicable law or agreed to in writing, software > * distributed under the License is distributed on an "AS IS" BASIS, > * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > * See the License for the specific language governing permissions and > * limitations under the License. > */ > --> ><module name="logging" class="userguide.loggingmodule.LoggingModule"> > <InFlow> > <handler name="InFlowLogHandler" class="userguide.loggingmodule.LogHandler"> > <order phase="loggingPhase"/> > </handler> > </InFlow> > > <OutFlow> > <handler name="OutFlowLogHandler" class="userguide.loggingmodule.LogHandler"> > <order phase="loggingPhase"/> > </handler> > </OutFlow> > > <OutFaultFlow> > <handler name="FaultOutFlowLogHandler" class="userguide.loggingmodule.LogHandler"> > <order phase="loggingPhase"/> > </handler> > </OutFaultFlow> > > <InFaultFlow> > <handler name="FaultInFlowLogHandler" class="userguide.loggingmodule.LogHandler"> > <order phase="loggingPhase"/> > </handler> > </InFaultFlow> ></module> > > >------------------------------------------------------------------------ > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
