title: Getting Exception while trying to execute axis2 service client
body: <p>I am trying to create a sample axis2 ServiceClient. It is throwing below error</p>
  
  <pre><code>org.apache.axiom.om.OMException: No meta factory found for feature 'default'; this usually means that axiom-impl.jar is not in the classpath
      at org.apache.axiom.om.OMAbstractFactory.getMetaFactory(OMAbstractFactory.java:170)
      at org.apache.axiom.om.OMAbstractFactory.getMetaFactory(OMAbstractFactory.java:135)
      at org.apache.axiom.om.OMAbstractFactory.getOMFactory(OMAbstractFactory.java:184)
      at org.apache.axis2.description.AxisDescription.&lt;init&gt;(AxisDescription.java:68)
      at org.apache.axis2.engine.AxisConfiguration.&lt;init&gt;(AxisConfiguration.java:148)
      at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:639)
      at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:116)
      at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:68)
      at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:184)
      at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:150)
      at org.apache.axis2.client.ServiceClient.&lt;init&gt;(ServiceClient.java:143)
      at org.apache.axis2.client.ServiceClient.&lt;init&gt;(ServiceClient.java:244)
      at org.apache.axis2.samples.tu.client.TUrlSOAPClient.addUrl(TUrlSOAPClient.java:46)
      at org.apache.axis2.samples.tu.client.TUrlClient.actionPerformed(TUrlClient.java:69)
      at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
      at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
      at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
      at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
      at java.awt.Component.processMouseEvent(Unknown Source)
      at javax.swing.JComponent.processMouseEvent(Unknown Source)
      at java.awt.Component.processEvent(Unknown Source)
      at java.awt.Container.processEvent(Unknown Source)
      at java.awt.Component.dispatchEventImpl(Unknown Source)
      at java.awt.Container.dispatchEventImpl(Unknown Source)
      at java.awt.Component.dispatchEvent(Unknown Source)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
      at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
      at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
      at java.awt.Container.dispatchEventImpl(Unknown Source)
      at java.awt.Window.dispatchEventImpl(Unknown Source)
      at java.awt.Component.dispatchEvent(Unknown Source)
      at java.awt.EventQueue.dispatchEvent(Unknown Source)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.run(Unknown Source)
  </code></pre>
  
  <p>The <code>axiom-impl.jar</code> is present in the classpath. Below is the code snippet. In the console I can see that sysout statement "Entered" is displayed, after that its throwing error at ServiceClient object creation. Have tried using different versions of the <code>axiom-impl.jar</code> (1.2.12, 1.2.13, 1.2.7, 1.2.5) but still getting the same error. </p>
  
  <pre><code>     public static String testFunction(String testData) throws Exception {
       System.out.println("Entered");
      //Create a service client
      ServiceClient client = new ServiceClient();
      System.out.println("Before calling set end point");
      //Set the endpoint address
      client.getOptions().setTo(new EndpointReference(EPR));
      System.out.println("After calling set end point");
      System.out.println("getPayload(url)="+getPayload(testData));
      //Make the reqest and get the response
      OMElement resp = client.sendReceive(getPayload(testData));
      //Extract the URL and return
      return extractUrl(resp);
  }
  </code></pre>