| <!-- |
| ~ Licensed to the Apache Software Foundation (ASF) under one |
| ~ or more contributor license agreements. See the NOTICE file |
| ~ distributed with this work for additional information |
| ~ regarding copyright ownership. The ASF licenses this file |
| ~ to you 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. |
| --> |
| |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta name="generator" content= |
| "HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" /> |
| <meta http-equiv="content-type" content="" /> |
| <title>Axis2 FAQ</title> |
| <link href="css/axis-docs.css" rel="stylesheet" type="text/css" |
| media="all" /> |
| </head> |
| <body lang="en" xml:lang="en"> |
| <h1>Frequently Asked Questions on Apache Axis2</h1> |
| <p>Got a question to be answered on Axis2? Then this document is |
| just what the doctor ordered.</p> |
| <h2>Ask your Questions Here</h2> |
| <p>If you have any other doubts/issues, e-mail your questions |
| to:</p> |
| <ul> |
| <li>Developers : <a href= |
| "mailto:axis-dev@ws.apache.org">axis-dev@ws.apache.org</a></li> |
| <li>Users : <a href= |
| "mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a></li> |
| </ul> |
| <p>Prefix subject with [Axis2]. <a href= |
| "http://ws.apache.org/axis2/mail-lists.html">Subscribe</a> to our |
| mailing lists.<a href= |
| "http://ws.apache.org/axis2/mail-lists.html"></a></p> |
| <h2>Content of Questions and Answers</h2> |
| <ul> |
| <li>General |
| <ul> |
| <li><a href="#a1">I'm having a problem using Axis2. What should I |
| do?</a></li> |
| </ul> |
| </li> |
| <li>Class Loading Issues |
| <ul> |
| <li><a href="#b1">How do I access resources in my service /module |
| archive file?</a></li> |
| </ul> |
| </li> |
| <li>Client API |
| <ul> |
| <li><a href="#c1">I want to do Request Response Messaging, Where |
| should I look?<br /></a></li> |
| <li><a href="#c2">I want to do One Way Messaging, Where should I |
| look?</a></li> |
| <li><a href="#c3">Error: 'to do two Transport Channels the |
| Addressing Modules must be engaged'</a></li> |
| <li><a href="#c4">I have engaged addressing, and when I try to |
| invoke a service I get an exception</a></li> |
| <li><a href="#c5">What is Axis Repository?</a></li> |
| </ul> |
| </li> |
| <li>Services |
| <ul> |
| <li><a href="#e1">How do I have multiple services in one service |
| archive?</a></li> |
| </ul> |
| </li> |
| <li>Web Archive/ Server Side |
| <ul> |
| <li><a href="#f1">I see an internal server error page when I try to |
| view the WSDL file.<br /></a></li> |
| </ul> |
| </li> |
| </ul> |
| <h2>General</h2> |
| <ol> |
| <li><a name="a1" id="a1"></a><strong>I'm having a problem using |
| Axis2. What should I do?</strong><br /> |
| <p>First make sure you go through the user guide and this FAQ. If |
| you are using a released version of Axis2, then there is a |
| possibility that your problem has already being fixed in the latest |
| code. <a href= |
| "http://ws.zones.apache.org/dist/axis2/nightly/">Download Axis2 |
| nightly builds</a> and test again.</p> |
| <p>If the problem still persists, then try to search for your |
| question in our <a href= |
| "http://marc.theaimsgroup.com/?l=axis-dev&r=1&w=2">developer</a> |
| or <a href= |
| "http://marc.theaimsgroup.com/?l=axis-user&r=1&w=2">user</a> |
| mailing archives as it might have already being answered.</p> |
| <p>If your problem is not answered in the mailing list, now is the |
| best time to post your question to the axis-user mailing list. If |
| you think it is a bug, please fill a bug report in <a href= |
| "http://issues.apache.org/jira/browse/AXIS2">JIRA</a>. Please |
| attach all the supportive information, like your wsdl, schema, |
| clients, services, stacktraces, etc., to the JIRA issue you |
| created, as it will help one of our contributors to re-create the |
| problem. <b>PLEASE DO NOT ASK QUESTIONS USING JIRA; USE IT ONLY AS |
| AN ISSUE TRACKER.</b></p> |
| <p>If you are asking for an explanation of a feature in Axis2, |
| there is a possibility that there is an article or FAQ written on |
| it. Please search the web as there are lots of articles written and |
| hosted by various sources on the web.</p> |
| <p><b>Note</b> : When you ask questions in the mailing list, please |
| remember that everyone working in our project are volunteers. |
| No-one can be forced to fix your bugs (See <a href= |
| "http://www.apache.org/foundation/faq.html#what-is-apache-NOT-about"> |
| What is Apache not about?</a> ).</p> |
| <p>Make sure you add enough information about your problem with |
| stacktraces and any other supportive information. It will improve |
| the chances of your question being answered. Prefixing your mail |
| subject with prefixes like "URGENT" will not help you in any means. |
| Yes we also accept all the blames about Axis2 in these mailing |
| lists, as those will definitely help us to improve Axis2 :) .</p> |
| </li> |
| </ol> |
| <h2>Class Loading Issues</h2> |
| <ol> |
| <li><a name="b1" id="b1"></a><strong>How do I access resources that |
| I put into my service /module archive file?</strong></li> |
| <li style="list-style: none; display: inline"> |
| <p>Axis2 has the notion of service isolation where each service or |
| module gets its own class loader. Using this class loader you can |
| access any resource that you put into your service archive file. |
| You may want to access your resources from different locations. For |
| example,</p> |
| <p>1. A third party module wants to access your resources. Then the |
| scenario is as follows:</p> |
| <pre> |
| AxisService myService = |
| messageContext.getAxisConfiguration().getAxisService("serviceName"); |
| </pre> |
| <p>or</p> |
| <pre> |
| AxisService myService = msgCtx.getAxisService(); |
| </pre> |
| <p>Then you can use the service class loader through which you can |
| access its resources</p> |
| <pre> |
| ClassLoader clsLoader = myService.getServiceClassLoader(); |
| clsLoader.getResourceAsStream("myResource"); |
| </pre> |
| <p>2. To initialize the service implementation class at the |
| MessageReceiver level, the following steps need to be taken</p> |
| <pre> |
| AxisService service = msgCtx.getAxisService(); |
| ClassLoader clsLoader = service.getServiceClassLoader(); |
| Class.forName("serviceName",clsLoader,true); |
| </pre> |
| <p>NOTE : Axis2 default MessageReciver uses the same technique to |
| initialize service implementations</p> |
| <p>3. If you want to load your resources at the service |
| implementation class, then the scenario is as follows</p> |
| <pre> |
| getClass().getClassLoader().getResourceAsStream("myResource"); |
| </pre></li> |
| </ol> |
| <h2>Client API</h2> |
| <ol> |
| <li><a name="c1" id="c1"></a><strong>I want to do Request-Response |
| Messaging, Where should I look?</strong><br /> |
| <p>Look at the <a href= |
| "https://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/ServiceClient.java" |
| target="_blank">ServiceClient</a> class, for more information |
| please read the <a href="@axis2_version_dir@/adv-userguide.html" |
| target="_blank">User's Guide</a></p> |
| </li> |
| <li><a name="c2" id="c2"></a><strong>I want to do One Way |
| Messaging, Where should I look?</strong><br /> |
| <p>From Axis2 0.94 onwards, both request-response and one way |
| messaging will be handled by <a href= |
| "https://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/ServiceClient.java" |
| target="_blank">ServiceClient</a>.</p> |
| </li> |
| <li><strong>When I try to do a non blocking call with</strong> |
| useSeparateListener=true |
| <p>I get the error <i>to do two Transport Channels the Addressing |
| Modules must be engaged</i>, Why is this?<br /></p> |
| <p>To do the two transport channel invocation, you need to engage |
| the addressing module. You can enable it by un-commenting the entry |
| in the axis2.xml file or Call.engageModule(QName). However, |
| addressing is enabled by default.</p> |
| </li> |
| <li><a name="c4" id="c4"></a><strong>I have engaged addressing, and |
| when I try to invoke a service I get an exception</strong><br /> |
| <p>If you have engaged addressing, then you must have wsa:action, |
| the required WS-Addressing header. You have to call<br /> |
| <code>option.setAction("urn:myaction");</code>. Note that the |
| action should be a URI.</p> |
| </li> |
| <li><a name="c5" id="c5"></a><strong>What is Axis2 |
| Repository?</strong><br /> |
| <p>The Repository stores the configuration of Axis2. The users |
| should specify the repository folder of the Axis Server (HTTP or |
| TCP). In the case of Tomcat, it is the webapps/axis2/WEB-INF |
| folder. The following picture shows a sample repository.</p> |
| <img src="images/faq/1.jpg" /> |
| <p>Modules and services have an archive format defined and they are |
| automatically picked up by Axis2 when they are copied to |
| corresponding folders.</p> |
| </li> |
| </ol> |
| <h2>Services</h2> |
| <ol> |
| <li><a name="e1" id="e1"></a><strong>How do I have multiple |
| services in one service archive?</strong></li> |
| <li style="list-style: none; display: inline"> |
| <p>It's just a matter of writing a services.xml file to configure |
| the service or services in an archive file. The corresponding |
| services.xml <strong>must</strong> look as follows,</p> |
| <pre> |
| <serviceGroup> |
| <service <strong>name="myService1"</strong>> |
| ........................... |
| </service> |
| |
| <service <strong>name="myService2"</strong>> |
| ........................... |
| </service> |
| <serviceGroup> |
| </pre> |
| <p>NOTE : The name attribute is a compulsory attribute that will |
| become the name of the services. If you want to have one service in |
| the archive file, then there are two options. You can either have |
| one service inside the serviceGroup tag or have only one service |
| tag, as shown below, in your services.xml, in which case, the name |
| of the service will be the name of the archive file, which you |
| cannot override.</p> |
| <pre> |
| <service> |
| ............... |
| <service> |
| </pre></li> |
| </ol> |
| <h2>Web Archive / Server side</h2> |
| <ol> |
| <li><a name="f1" id="f1"></a><strong>I see an internal server error |
| page when I try to view the WSDL file.</strong><br /> |
| <p>This happens specifically with Tomcat 4.x and 5.0 in a JDK 1.5 |
| environment. The reason is that the system picks up a wrong |
| transformer factory class. This can be solved simply by putting the |
| <a href= |
| "http://www.apache.org/dist/java-repository/xalan/jars/">xalan-2.7.0.jar</a> |
| into the axis2/WEB-INF/lib directory</p> |
| </li> |
| </ol> |
| </body> |
| </html> |