Are you calling ConfigurationContext myConfigContext =
ConfigurationContextFactory.createConfigurationContextFromFileSystem(cheminDisque, cheminDisque +"/conf/axis2.xml");
200 times? You don't need to be. In fact you might only need to create a single instance of the stub. The configContext is only designed to be created once. Paul On 5/16/07, Raf177 <[EMAIL PROTECTED]> wrote:
Hi, I'm using Axis2 as client (adb binding) and Xfire as service. After around 200 calls, axis2 client is out of memory. Something is very interesting : if i don't load axis2.xml file, there's no out of memory and the response is very fast : stub = new PatrimoineStub(null, "http://..."); If I load axis2.xml, OutOfMemoryError occurs, and all the responses before this error are slow : ConfigurationContext myConfigContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(cheminDisque, cheminDisque +"/conf/axis2.xml"); stub = new PatrimoineStub(myConfigContext, "http://..."); Unfortunately, i need to load axis2.xml. If anybody has an idea, i will appreciate ! My axis2.xml file : <?xml version="1.0" encoding="UTF-8"?> <!-- ! ! Copyright 2006 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"> <module ref="rampart" /> <parameter name="OutflowSecurity"> <action> <items>Signature</items> <user>zenithopcvm</user> <signaturePropFile>client.properties</signaturePropFile> <passwordCallbackClass>net.gicm.astral.handler.PasswordHandler</passwordCallbackClass> <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier> </action> </parameter> <parameter name="InflowSecurity"> <action> <items>Signature</items> <signaturePropFile>client.properties</signaturePropFile> <passwordCallbackClass>net.gicm.astral.handler.PasswordHandler</passwordCallbackClass> </action> </parameter> <!-- ================================================= --> <!-- Parameters --> <!-- ================================================= --> <parameter name="hotdeployment" locked="false">true</parameter> <parameter name="hotupdate" locked="false">false</parameter> <parameter name="enableMTOM" locked="false">false</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 exception--> <!--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> <!--This is the user name and password of admin console--> <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="services" locked="false">service</parameter>--> <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path--> <!--<parameter name="modules" 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 distinguish those endpoints--> <!--<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 management--> <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">true</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> <!-- ================================================= --> <!-- Message Receivers --> <!-- ================================================= --> <!--This is the Default 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 override 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> <!-- ================================================= --> <!-- Target Resolvers --> <!-- ================================================= --> <!-- Uncomment the following and specify the class name for your TargetResolver to add --> <!-- a TargetResolver. TargetResolvers are used to process the To EPR for example to --> <!-- choose a server in a cluster --> <!--<targetResolvers>--> <!--<targetResolver class="" />--> <!--</targetResolvers>--> <!-- ================================================= --> <!-- 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--> <!--uncomment following parameter , and set as you required.--> <!--<parameter name="hostname" locked="false">http://myApp.com/ws</parameter>--> </transportReceiver> <transportReceiver name="tcp" class="org.apache.axis2.transport.tcp.TCPServer"> <parameter name="port" locked="false">6061</parameter> <!--If you want to give your own host address for EPR generation--> <!--uncomment following parameter , and set as you required.--> <!--<parameter name="hostname" locked="false">tcp://myApp.com/ws</parameter>--> </transportReceiver> <!-- ================================================= --> <!-- Transport Outs --> <!-- ================================================= --> <transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/> <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> <!-- ================================================= --> <!-- 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="SecurityPhase"> <handler name="SecurityHandler" class="net.gicm.astral.handler.SecurityHandler"> <order phase="Security"/> </handler> </phase> </phaseOrder> <phaseOrder type="OutFlow"> <!-- 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"/> <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="Dispatch"/> </handler> </phase> <!-- user can add his own phases to this area --> <phase name="OperationInFaultPhase"/> </phaseOrder> <phaseOrder type="OutFaultFlow"> <!-- user can add his own phases to this area --> <phase name="OperationOutFaultPhase"/> <phase name="PolicyDetermination"/> <phase name="MessageOut"/> </phaseOrder> </axisconfig> -- View this message in context: http://www.nabble.com/Axis2-client-%2B-Xfire-service-%3A-OutOfMemoryError-tf3763618.html#a10638755 Sent from the Axis - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Paul Fremantle VP/Technology, WSO2 and OASIS WS-RX TC Co-chair http://bloglines.com/blog/paulfremantle [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
