Hi - cc'd this to the axis list in case it can help someone else some time.
Glad you isolated the problem. Didn't know about the string parameter through a browser problem,
Cheers Nikki
--On Friday, June 25, 2004 10:02:33 +0200 Hiblot S�bastien <[EMAIL PROTECTED]> wrote:
Hi,
what i tell you yesterday was right :-( the problem comes from IE... I made a client this morning and it's running !
when we think about this, it's logical... we can only pass String into a browser
Thx a lot for your help ! Regards,
Seb
-----Message d'origine----- De : NJ Rogers, Learning and Research Technology [mailto:[EMAIL PROTECTED] Envoy� : jeudi 24 juin 2004 18:07 � : Hiblot S�bastien Objet : RE: Problem during the call of a method
the result is the same in my stdout.log :-(
:-( What do the logs show? They should be very verbose and include the incoming and outgoing soap messages. They should show that your service gets invoked & indicate that the pivot point is passed. This should reveal precisely where the error occurs. Maybe you can add these sorts of lines in your Service Impl class & backed service to help debug:
import org.apache.log4j.Logger;
.... logger.debug(this + "Service starting .... ");
... etc.
This has helped me in the past.
Nikki
-----Message d'origine----- De : NJ Rogers, Learning and Research Technology [mailto:[EMAIL PROTECTED] Envoy� : jeudi 24 juin 2004 15:59 � : Hiblot S�bastien Objet : RE: Problem during the call of a method
Hi
Yes, the XXXXSoapBindingImpl is correct.
OK - the advice you are getting from Harald Pollak is good - go through each stage to check.
DEBUGGING: by switching on this I do not mean tomcat's debugging, but Axis' debugging (as http://ws.apache.org/axis/java/reference.html section: Axis Logging Configuration).
What I did to switch on debugging:
i. I deleted log4j.properties from the EXTRACTED axis.jar in tomcat - axis webapp library.
ii. I put my own log4j.properties file (set to debug) in the WEB-INF/classes in tomcat :
# Set root category priority to INFO and its only appender to CONSOLE. log4j.rootCategory=DEBUG, CONSOLE # log4j.rootCategory=INFO, CONSOLE, LOGFILE
# Set enterprise logger category to FATAL and its only appender to # CONSOLE. log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
# CONSOLE is set to be a ConsoleAppender using a PatternLayout. log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=DEBUG log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
# LOGFILE is set to be a File appender using a PatternLayout. log4j.appender.LOGFILE=org.apache.log4j.FileAppender log4j.appender.LOGFILE.File=axis.log log4j.appender.LOGFILE.Append=true log4j.appender.LOGFILE.Threshold=DEBUG log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
and
iii. added this log4j.properties to the classpath in bash_profile (do whatever you do to put things in your classpath).
e.g. (shortened version):
# .bash_profile
# Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi
# User specific environment and startup programs
LOG4JPROP=/home/nr8262/webservices/jakarta-tomcat/jakarta-tomcat-4.1.29/w eb apps/axis/WEB-INF/classes
export LOG4JPROP
PATH=$PATH:$HOME/bin:/usr/local/bin/:/usr/java/j2sdk1.4.2_03/bin:LOG4JPRO P/
export PATH unset USERNAME
iv. Then I RE-JARRED the axis.jar in tomcat
v. Finally, stop and restart tomcat.
You will see a lot of debugging go to catalina.out & it may show up the problem e.g. if your backend service is not responding properly to the method call in your service implementation class.
Nikki
to switch on debug, I put debug="9" on the server.xml is it enough ? because, the result is the same.
-----Message d'origine----- De : NJ Rogers, Learning and Research Technology [mailto:[EMAIL PROTECTED] Envoy� : jeudi 24 juin 2004 15:31 � : Hiblot S�bastien Objet : RE: Problem during the call of a method
Hmm. I've had the null pointer exception often - a change to the autogenerated service class means you must make sure that the methods are implemented in the class that implements it - the one typically called XXXXSoapBindingImpl. So are your sure you have manually added code to implement the methods in XXXXSoapBindingImpl & have not simply included the Axis-generated XXXXSoapBindingImpl file in your jar in tomcat?
Stop and restart tomcat for changes to take effect.
If this all fails, maybe switch on debug logging on the server side (I have some brief notes on how to do this).
Nikki
--On Thursday, June 24, 2004 15:20:54 +0200 Hiblot S�bastien <[EMAIL PROTECTED]> wrote:
yes, the new jar is in tomcat. When i call /services i saw the new WebService with all the methods.
When i call an old method, it's runing correctly, but not with a new one.
I haven't got more information on the error :-(
Seb
-----Message d'origine----- De : NJ Rogers, Learning and Research Technology [mailto:[EMAIL PROTECTED] Envoy� : jeudi 24 juin 2004 14:58 � : Hiblot S�bastien Objet : Re: Problem during the call of a method
Did you remember to copy the (newly built) java class files into your webapp in tomcat also? If this is not the cause of the problem, you could switch on debug logging on the server side to try and track down the problem that way,
Nikki
--On Thursday, June 24, 2004 14:48:04 +0200 Hiblot S�bastien <[EMAIL PROTECTED]> wrote:
Hi,
I had a webservice with 4 methods. it's runing under tomcat. I had to put new methods into the webservice. So I modify the interface, generate the new wsdl, and then build the new java classes.
When I deploy the new webservice under tomcat, I see the new methods, but when I call one, I had the error bellow. When I call the old method, it's runing...
Have you got a solution to my problem ?
Thx.
The error : org.apache.axis.transport.http.AxisServlet processAxisFault INFO: AxisFault: AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.lang.NullPointerException faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace: java.lang.NullPointerException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. ja va :39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces so rI mpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.j av a: 402) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider .j av a:309) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java: 33 3) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg y. ja va:71) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:48 1) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323) at org.apache.axis.transport.http.AxisServlet.invokeEndpointFromGet(Axis Se rv let.java:544) at org.apache.axis.transport.http.AxisServlet.processMethodRequest(AxisS er vl et.java:466) at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:294) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas e. ja va:339) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl ic at ionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF il te rChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV al ve .java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a: 48 0) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV al ve .java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a: 48 0) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2 41 7) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j av a: 180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche rV al ve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j av a: 172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a: 48 0) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve .j ava:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a: 48 0) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso r. ja va:1040) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja va :1 151) at java.lang.Thread.run(Thread.java:536)
{http://xml.apache.org/axis/}isRuntimeException: true
java.lang.NullPointerException at org.apache.axis.AxisFault.makeFault(AxisFault.java:129) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java: 34 3) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg y. ja va:71) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:48 1) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323) at org.apache.axis.transport.http.AxisServlet.invokeEndpointFromGet(Axis Se rv let.java:544) at org.apache.axis.transport.http.AxisServlet.processMethodRequest(AxisS er vl et.java:466) at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:294) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas e. ja va:339) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl ic at ionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF il te rChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV al ve .java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a: 48 0) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV al ve .java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a: 48 0) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2 41 7) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j av a: 180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche rV al ve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j av a: 172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a: 48 0) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve .j ava:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex t. in vokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a: 48 0) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso r. ja va:1040) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja va :1 151) at java.lang.Thread.run(Thread.java:536) Caused by: java.lang.NullPointerException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. ja va :39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces so rI mpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.j av a: 402) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider .j av a:309) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java: 33 3) ... 37 more
---------------------- NJ Rogers, Technical Researcher (Semantic Web Applications Developer) Institute for Learning and Research Technology (ILRT) Email:[EMAIL PROTECTED] Tel: +44(0)117 9287096 (Direct) Tel: +44(0)117 9287193 (Office)
---------------------- NJ Rogers, Technical Researcher (Semantic Web Applications Developer) Institute for Learning and Research Technology (ILRT) Email:[EMAIL PROTECTED] Tel: +44(0)117 9287096 (Direct) Tel: +44(0)117 9287193 (Office)
---------------------- NJ Rogers, Technical Researcher (Semantic Web Applications Developer) Institute for Learning and Research Technology (ILRT) Email:[EMAIL PROTECTED] Tel: +44(0)117 9287096 (Direct) Tel: +44(0)117 9287193 (Office)
---------------------- NJ Rogers, Technical Researcher (Semantic Web Applications Developer) Institute for Learning and Research Technology (ILRT) Email:[EMAIL PROTECTED] Tel: +44(0)117 9287096 (Direct) Tel: +44(0)117 9287193 (Office)
---------------------- NJ Rogers, Technical Researcher (Semantic Web Applications Developer) Institute for Learning and Research Technology (ILRT) Email:[EMAIL PROTECTED] Tel: +44(0)117 9287096 (Direct) Tel: +44(0)117 9287193 (Office)
