Got a question to be answered on Axis2? Then this document is just what the doctor ordered.
If you have any other doubts/issues, e-mail your questions to:
Prefix subject with [Axis2]. Subscribe to our mailing lists.
If the problem still persists, then try to search for your question in our developer or user mailing archives as it might have already being answered.
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 JIRA. 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. PLEASE DO NOT ASK QUESTIONS USING JIRA; USE IT ONLY AS AN ISSUE TRACKER.
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.
Note : 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 What is Apache not about? ).
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 :) .
1. A third party module wants to access your resources. Then the scenario is as follows:
AxisService myService = messageContext.getAxisConfiguration().getAxisService("serviceName");
or
AxisService myService = msgCtx.getAxisService();
Then you can use the service class loader through which you can access its resources
ClassLoader clsLoader = myService.getServiceClassLoader(); clsLoader.getResourceAsStream("myResource");
2. To initialize the service implementation class at the MessageReceiver level, the following steps need to be taken
AxisService service = msgCtx.getAxisService(); ClassLoader clsLoader = service.getServiceClassLoader(); Class.forName("serviceName",clsLoader,true);
NOTE : Axis2 default MessageReciver uses the same technique to initialize service implementations
3. If you want to load your resources at the service implementation class, then the scenario is as follows
getClass().getClassLoader().getResourceAsStream("myResource");
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.
option.setAction("urn:myaction");
. Note that the
action should be a URI.Modules and services have an archive format defined and they are automatically picked up by Axis2 when they are copied to corresponding folders.
<serviceGroup> <service name="myService1"> ........................... </service> <service name="myService2"> ........................... </service> <serviceGroup>
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.
<service> ............... <service>