Jay, How exactly have you tried to do this with Axis2? If I am understanding your situation, we are currently doing something like this successfully. We have a centralized service broker based on Axis2 that accepts incoming requests and can then route them to our mainframe, other applications, or other web services as needed. We are not using the standard axis2 war distribution, however. We already had an Enterprise Application (EAR) running on WebSphere 6.0 that already contained a web application, so we simply added a Websphere shared library containing the Axis2 files to the EAR. Then, by enabling the AxisServlet in our web application, we had the inbound support provided by Axis2. We are also using Axis2 stubs to make outbound web service calls from within the application. I'm not sure if there is something specific about our setup that is different than yours, but I can easily process many inbound service requests that in turn make outbound requests to other services and have not had any memory issues.
Here is a very simplified model of the application: Inbound Message is received by Service A Message is validated and converted using ADB objects Payload is sent to our Service Controller, which acts as a router If appropriate, we make an outbound web service (Service B) call to obtain data from an external source Response is returned through the Service Controller back as the response to the original service request Wally "Jay Chauhan" <[EMAIL PROTECTED]> 08/07/2008 01:37 PM Please respond to [email protected] To [email protected] cc Subject Re: Axis2 Webservice called from another websiervice Hi Chris, I really appreciate you taking time to share your experiences while calling one webservice from another. I fully agree with you that this issue has never been addressed even when jira says that it is resolved. Furthermore, I also searched all of the mailing list and this issue was raised a few times before but there are no indications of going it anywhere. This is certainly is one of the bigger drawbacks of Axis2 stack and I hope Axis team does something about it before more people move away from Axis2. In the mean time after spending few days and going no where i also went another route and now i am using Messaging Middleware to make the call to second webservice, this is not the most elegant solution, but this it works and it is the only choice I have at this time. Thanks agin for your time Chris, -Jay On Thu, Aug 7, 2008 at 1:36 AM, Chris Richmond <[EMAIL PROTECTED]> wrote: Good luck with that. I had a project a few months ago where I had one proxy webservice in Axis2 hosted in tomcat that called another webservice and could NEVER get it to work. It would crash after 10 calls or so within a minute, create phantom services after calls to the proxy service side, and the method signatures of those "phantom " services exactly matched the methods on my client proxies to the 2nd service?in short..there are MAJOR in memory collisions taking place whereas the Axis2 stack gets confused. All in all, it was a miserable failure for using one service calling another, which is practically SOP in the WS world and I've done it with every other WS stack I've used. In the end I had to retool my middleware layer to use another WS stack. I believe this is a difficult problem or bug as I never got a single answer or hint from many, many mails to this and other lists that was related to the problem. This problem might have been resolved, but I never found a resolution, and the nature of the responses I got indicates to me that no one ever really understood the problem?either from my lack of ability to communicate it in several attempts or due complex systematic nature of the problem(not an easily identifiable defect). If you ever successfully get Axis2 webservice calling another webservice working and working at production levels, I'd love to hear how you did it. Chris From: Jay Chauhan [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 06, 2008 9:45 PM To: [email protected] Subject: Re: Axis2 Webservice called from another websiervice Hi Lars, In order to eliminate that possibility I have created a static method ServiceBClient.callService() which works just fine if i call from stand along program, so the ports and URLs are Okay. Problem, happens only when i call it from within another service. As an interim solution I am using messaging to call one service from another , however, i always why wonder why a webservice should not be callable from each other. Thanks, -Jay On Wed, Aug 6, 2008 at 11:55 PM, Lars Ericsson <[EMAIL PROTECTED]> wrote: Hi Jay! Also, you try run your client from webserviceA and you get those error-messages! The errors are about addressing problem. have you check the if your url, and port are right? /l ----- Original Message ---- From: Jay Chauhan <[EMAIL PROTECTED]> To: [email protected]; [EMAIL PROTECTED] Sent: Friday, August 1, 2008 10:57:02 PM Subject: Re: Axis2 Webservice called from another websiervice Hi Axis Team, I did some looking around and it is claimed to have fixed in jira http://issues.apache.org/jira/browse/AXIS2-2231 However, the problem still exists, I wonder if someone can give a reply, Thanks, -Jay On Thu, Jul 31, 2008 at 10:12 PM, Jay Chauhan <[EMAIL PROTECTED]> wrote: Hi, I have two Axis2 webservices, A and B. these services use AXIOM databinding. I have a client ServiceBClient.java , when I call the SericeBClient.callService() from standalone program it works just fine as it should. However, when I try to call the same code from within Service A then i get the following error: ===================== [WARN] triggerActionNotSupportedFault: messageContext: [MessageContext: logID=urn:uuid:02DD9A9B9453513B981217564336177] problemAction:\ urn:anonOutonlyOpResponse [ERROR] The [action] cannot be processed at the receiver. org.apache.axis2.AxisFault: The [action] cannot be processed at the receiver. at org.apache.axis2.addressing.AddressingFaultsHelper.triggerAddressingFault(AddressingFaultsHelper.java:373) at org.apache.axis2.addressing.AddressingFaultsHelper.triggerActionNotSupportedFault(AddressingFaultsHelper.java:336) at org.apache.axis2.handlers.addressing.AddressingValidationHandler.checkAction(AddressingValidationHandler.java:149) at org.apache.axis2.handlers.addressing.AddressingValidationHandler.invoke(AddressingValidationHandler.java:55) ===================== I have the services.xml as suggested in AXIOM service section of Quick start guide: http://ws.apache.org/axis2/1_4/quickstartguide.html What can I do to call a webservice from another, Any suggestion is appreciated. -Jay The information contained in this e-mail and any accompanying documents may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient of this message, or if this message has been addressed to you in error, please immediately alert the sender by reply e-mail and then delete this message, including any attachments. Any dissemination, distribution or other use of the contents of this message by anyone other than the intended recipient is strictly prohibited. All messages sent to and from this e-mail address may be monitored as permitted by applicable law and regulations to ensure compliance with our internal policies and to protect our business. E-mails are not secure and cannot be guaranteed to be error free as they can be intercepted, amended, lost or destroyed, or contain viruses. You are deemed to have accepted these risks if you communicate with us by e-mail.
