CommonsHTTPTransportSender - name cannot be null
Hello, I have a WS using axis2 and tomcat 6. Sometimes, usually under high load of requests from clients, the web service writes following log error messages: org.apache.axis2.transport.http.CommonsHTTPTransportSender - name cannot be null!! org.apache.axis2.engine.AxisEngine - name cannot be null!! Would appreciate any insight.. Thanks! Yoav
AxisEngine errors on exception throwing
My web service reports errors using exceptions (which are well defined in the wsdl file) This seems to work ok, but there is an annoying side-effect, where for each thrown exception, an error message appears in my log file: ERROR http-80-16 org.apache.axis2.engine.AxisEngine error message here Any idea on how to disabled this specific log message? Thanks
Custom exception and logging as error
Hi, I throw a custom exception (fault) in my WS (axis2, tomcat) This works fine, but in my log4j log file I see for each time I throw an exception the following log message: (the server side log file) ERROR http-80-16 org.apache.axis2.engine.AxisEngine error message here Why is this counted as an error? this is the intended behavior. Regards,
RE: Getting all parameters of the request
Hi Everyone, I managed to find a solution for this. In case anyone is interested, here it is: org.apache.axis2.description.AxisOperation op = msgContext.getOperationContext().getAxisOperation(); envelope = msgContext.getEnvelope() IteratorOMElement iter = envelope.getBody().getFirstElement().getChildElements(); while(iter.hasNext()) { OMElement omElem = iter.next(); System.out.println(omElem.getText()); System.out.println(omElem.getQName().getLocalPart()); } Same can be done for the response parameters, by getting the envelope as such: envelope = toEnvelope(getSOAPFactory(msgContext), your_func_nameResponse, false); From: Yoav Naveh [mailto:y...@contextin.com] Sent: Monday, February 02, 2009 9:55 AM To: axis-user@ws.apache.org Subject: Getting all parameters of the request Hello, I would like to be able to log all the parameters given to my WS function. To do so in the most generic way, I was wondering if there is any way to iterate all input parameters from the MessageContext or anything similar. For example, suppose my WS exposes a function called test that receives 3 String parameters as input, I would like to print these variables and values to my log, without querying for them in the function implementation. Instead, I would like each exposed function's implementation call one utility function to extract all the fields. Does anyone know of a way to perform this? In addition, I would like to do something similar with the response (save all returned variables to a log file without function-specific implementation) Thanks! Yoav
not showing stack trace when accessing the web service via browser
Hi, I have set up a web service that upon error throws an exception as fault. The web service is accessible through tomcat by using my web browser. Is there any way to have tomcat (I assume it is in charge of this part) not display the stack trace, in case my service raises a fault? Thanks!
RE: not showing stack trace when accessing the web service via browser
More information on this matter. On my development machine, this seems to work properly. I see an xml format with a single element fault On my testing machine I see the full stack trace within an Exception element (and no fault element) So this seems to be possible, with some configuration. Anyone familiar with this issue? From: Yoav Naveh [mailto:y...@contextin.com] Sent: Wednesday, February 04, 2009 11:26 AM To: axis-user@ws.apache.org Subject: not showing stack trace when accessing the web service via browser Hi, I have set up a web service that upon error throws an exception as fault. The web service is accessible through tomcat by using my web browser. Is there any way to have tomcat (I assume it is in charge of this part) not display the stack trace, in case my service raises a fault? Thanks!
Getting all parameters of the request
Hello, I would like to be able to log all the parameters given to my WS function. To do so in the most generic way, I was wondering if there is any way to iterate all input parameters from the MessageContext or anything similar. For example, suppose my WS exposes a function called test that receives 3 String parameters as input, I would like to print these variables and values to my log, without querying for them in the function implementation. Instead, I would like each exposed function's implementation call one utility function to extract all the fields. Does anyone know of a way to perform this? In addition, I would like to do something similar with the response (save all returned variables to a log file without function-specific implementation) Thanks! Yoav
axis2 - eclipse web service wizard error
Hello, When I use the eclipse (GUI) wizard to generate code from my wsdl file (right clicking on the wsdl file, choosing Web Services and then Generate Java bean Skeleton) when I press the next button and get to the Axis2 Web Service Skeleton Java Bean Configuration screen the service name, port name and any other field (except databinding which is set to ADB) appears empty. Pressing Next (or Finish) generates the error message below Two notes: 1. using the command prompt wsdl2java script works. 2. using the GUI wizard on a different WSDL file works. I could not find any difference between the files (e.g. missing fields) other than the amount of functions and the use of custom object types. Any idea anyone? Thanks! Yoav - Exception occurred during code generation for the WSDL : null java.lang.ArrayIndexOutOfBoundsException: 68 at org.eclipse.jst.ws.axis2.core.utils.ClassLoadingUtil.visitAllFiles(ClassLoad ingUtil.java:114) at org.eclipse.jst.ws.axis2.core.utils.ClassLoadingUtil.visitAllFiles(ClassLoad ingUtil.java:110) at org.eclipse.jst.ws.axis2.core.utils.ClassLoadingUtil.visitAllFiles(ClassLoad ingUtil.java:110) at org.eclipse.jst.ws.axis2.core.utils.ClassLoadingUtil.visitAllFiles(ClassLoad ingUtil.java:110) at org.eclipse.jst.ws.axis2.core.utils.ClassLoadingUtil.getAxis2Libs(ClassLoadi ngUtil.java:99) at org.eclipse.jst.ws.axis2.core.utils.ClassLoadingUtil.init(ClassLoadingUtil.j ava:50) at org.eclipse.jst.ws.axis2.creation.core.command.Axis2WSDL2JavaCommand.execute (Axis2WSDL2JavaCommand.java:99) at org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.run Command(CommandFragmentEngine.java:419) at org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.vis itTop(CommandFragmentEngine.java:359) at org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.mov eForwardToNextStop(CommandFragmentEngine.java:254) at org.eclipse.wst.command.internal.env.ui.widgets.SimpleCommandEngineManager$6 .run(SimpleCommandEngineManager.java:294) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.jav a:458) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:366) at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:934) at org.eclipse.wst.command.internal.env.ui.widgets.SimpleCommandEngineManager.r unForwardToNextStop(SimpleCommandEngineManager.java:264) at org.eclipse.wst.command.internal.env.ui.widgets.WizardPageManager.runForward ToNextStop(WizardPageManager.java:91) at org.eclipse.wst.command.internal.env.ui.widgets.WizardPageManager.getNextPag e(WizardPageManager.java:154) at org.eclipse.wst.command.internal.env.ui.widgets.SimpleWizardPage.getNextPage (SimpleWizardPage.java:136) at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:813) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:369) at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422) at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) at org.eclipse.jface.window.Window.open(Window.java:801) at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHand ler.java:253) at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:27 3) at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:281) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(Parameteriz edCommand.java:508) at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerServic e.java:169) at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHan dlerService.java:247) at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.jav a:157) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(Action ContributionItem.java:583) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionI tem.java:500) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContribu tionItem.java:411) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382) at
Axis2 - WSDL-code sync
Hello, I find it very useful to generate a WSDL and then automatically create the code from it. However, when I need to update my web service (add new function / parameter to an existing function) - is it possible to only update the WSDL and then synchronize the code against it? Updating the code is inconvenient and regenerating the entire skeleton as new from the WSDL would (obviously) overwrite the class and require me to re-enter all the functions already implemented. Thanks in advance, Yoav