You are right. Thanks of all helps you have given me ----- Original Message ----- From: "Scott Nichol" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, June 11, 2004 9:33 PM Subject: Re: problem with ServiceManagerClient and another problem
The server code cannot find MethodCounter.class. I do not know how you installed Apache SOAP, but here is the "standard" description. Apache SOAP should be installed as a webapp within the servlet container, in your case Tomcat. I personally prefer un-jarring the soap.war in $CATALINA_HOME/webapps/soap, rather than dropping soap.war in $CATALINA_HOME/webapps. The service classes can then be dropped under $CATALINA_HOME/webapps/soap/WEB-INF/classes. In your case, you would have the file $CATALINA_HOME/webapps/soap/WEB-INF/classes/javasoap/book/ch4/MethodCount.cl ass Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. ----- Original Message ----- From: "Francesco Dipalo" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, June 11, 2004 2:45 PM Subject: Re: problem with ServiceManagerClient and another problem > I modified the source as you tell and know I receive this exception: > > C:\>java javasoap.book.ch4.GetCountAppnuovo > Generated fault: [Attributes={}] > [faultCode=SOAP-ENV:Server.BadTargetObjectURI] > [faultString=Unable to resolve target object: > javasoap.book.ch4.MethodCounter] [ > faultActorURI=/soap/servlet/rpcrouter] [DetailEntries= > [(0)=<stackTrace>java.lang.ClassNotFoundException: > javasoap.book.ch4.MethodCount > er > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa > der.java:1443) > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa > der.java:1289) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:310) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:190) > at org.apache.soap.rpc.SOAPContext.loadClass(SOAPContext.java:564) > at > org.apache.soap.server.http.ServerHTTPUtils.getTargetObject(ServerHTT > PUtils.java:275) > at > org.apache.soap.providers.RPCJavaProvider.locate(RPCJavaProvider.java > :117) > at > org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet. > java:352) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:247) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:193) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > alve.java:256) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > t.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > alve.java:191) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > t.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > org.apache.catalina.core.StandardContext.invoke(StandardContext.java: > 2422) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j > ava:180) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > t.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche > rValve.java:171) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > t.invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j > ava:163) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > t.invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal > ve.java:174) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > t.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:19 > 9) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java > :828) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce > ssConnection(Http11Protocol.java:700) > at > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java > :584) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP > ool.java:683) > at java.lang.Thread.run(Thread.java:479) > </stackTrace>] > ] [FaultEntries=] > > ----- Original Message ----- > From: "Scott Nichol" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Friday, June 11, 2004 7:47 PM > Subject: Re: problem with ServiceManagerClient and another problem > > > Oops. I see you marked line 19. > > This means ret, the return value, was null. That almost certainly indicates > that the server returned a Fault. Try changing your code to the more > standard: > > try { > Response resp = call.invoke(url, ""); > if (resp.generatedFault()) { > Fault fault = resp.getFault(); > System.err.println("Generated fault: " + fault); > } else { > Parameter ret = resp.getReturnValue(); > Object value = ret.getValue(); *\this is line 19 > System.out.println("Result is " + value); > } > } > catch (SOAPException e) { > System.err.println("Caught SOAPException (" + > e.getFaultCode() + "): " + > e.getMessage()); > } > > Scott Nichol > > Do not send e-mail directly to this e-mail address, > because it is filtered to accept only mail from > specific mail lists. > ----- Original Message ----- > From: "Scott Nichol" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Friday, June 11, 2004 1:12 PM > Subject: Re: problem with ServiceManagerClient and another problem > > > I am suspicious of e-mail wrapping lines in messages. Can you tell me which > is line 19 in your source? > > Scott Nichol > > Do not send e-mail directly to this e-mail address, > because it is filtered to accept only mail from > specific mail lists. > ----- Original Message ----- > From: "Francesco Dipalo" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Friday, June 11, 2004 12:26 PM > Subject: Re: problem with ServiceManagerClient and another problem > > > > The source of GetCountApp.java is: > > > > package javasoap.book.ch4; > > import java.net.*; > > import org.apache.soap.*; > > import org.apache.soap.rpc.*; > > public class GetCountApp { > > public static void main(String[] args) > > throws Exception { > > > > URL url = > > new URL( > > "http://localhost:8080/soap/servlet/rpcrouter"); > > > > Call call = new Call(); > > call.setTargetObjectURI("urn:CallCounterService"); > > call.setMethodName("getCount"); > > try { > > Response resp = call.invoke(url, ""); > > Parameter ret = resp.getReturnValue(); > > Object value = ret.getValue(); *\this is line 19 > > System.out.println("Result is " + value); > > } > > catch (SOAPException e) { > > System.err.println("Caught SOAPException (" + > > e.getFaultCode() + "): " + > > e.getMessage()); > > } > > } > > } > > > > The source of MethodCounter is: > > > > package javasoap.book.ch4; > > public class MethodCounter { > > int _counter; > > public MethodCounter() { > > _counter = 0; > > } > > public int getCount() { > > return _counter; > > } > > public boolean doSomething() { > > _counter += 1; > > return true; > > } > > } > > > > ----- Original Message ----- > > From: "Scott Nichol" <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Friday, June 11, 2004 5:34 PM > > Subject: Re: problem with ServiceManagerClient and another problem > > > > > > What is line 19 of GetCountApp.java? > > > > What is the source for MethodCounter? > > > > Scott Nichol > > > > Do not send e-mail directly to this e-mail address, > > because it is filtered to accept only mail from > > specific mail lists. > > ----- Original Message ----- > > From: "Francesco Dipalo" <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Friday, June 11, 2004 11:13 AM > > Subject: Re: problem with ServiceManagerClient and another problem > > > > > > > I have done as you tell and now when I try: > > > java javasoap.book.ch4.GetCountApp > > > I receive this exception: > > > Exception in thread "main" java.lang.NullPointerException at > > > javasoap.book.ch4.GetCountApp.main(GetCountApp.java:19) > > > Why? > > > Thanks for the helps!!!!! > > > ----- Original Message ----- > > > From: "Scott Nichol" <[EMAIL PROTECTED]> > > > To: <[EMAIL PROTECTED]> > > > Sent: Friday, June 11, 2004 3:17 PM > > > Subject: Re: problem with ServiceManagerClient and another problem > > > > > > > > > This rather generic exception is masking an underlying exception. > > Undeploy, > > > change CallCounterService.dd > > > , re-deploy and try again to see a better exception. The change to > > > CallCounterService.dd is to remove whitespace from faultListener, i.e. > > > change > > > > > > <isd:faultListener> > > > org.apache.soap.server.DOMFaultListener > > > </isd:faultListener> > > > > > > to > > > > > > > > > > > > <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListene > > > r> > > > > > > Scott Nichol > > > > > > Do not send e-mail directly to this e-mail address, > > > because it is filtered to accept only mail from > > > specific mail lists. > > > ----- Original Message ----- > > > From: "Francesco Dipalo" <[EMAIL PROTECTED]> > > > To: <[EMAIL PROTECTED]> > > > Sent: Friday, June 11, 2004 3:57 AM > > > Subject: Re: problem with ServiceManagerClient and another problem > > > > > > > > > > Thank for the solution Scott but now I have another problem: > > > > > > > > I want to deploy a service. I executed the following operations: > > > > > > > > - deploying with Apache SOAP using a deployment descriptor file named > > > > CallCounterService.dd > > > > > > > > <isd:service > > > > xmlns:isd="http://xml.apache.org/xml-soap/deployment" > > > > id="urn:CallCounterService"> > > > > > > > > <isd:provider type="java" > > > > scope="Application" > > > > methods="doSomething getCount"> > > > > <isd:java class="javasoap.book.ch4.MethodCounter" > > > > static="false"/> > > > > </isd:provider> > > > > <isd:faultListener> > > > > org.apache.soap.server.DOMFaultListener > > > > </isd:faultListener> > > > > <isd:mappings> > > > > </isd:mappings> > > > > </isd:service> > > > > > > > > - invoking the getCount method using this java file named > CallCounterApp > > > > > > > > package javasoap.book.ch4; > > > > import java.net.*; > > > > import org.apache.soap.*; > > > > import org.apache.soap.rpc.*; > > > > public class GetCountApp { > > > > public static void main(String[] args) > > > > throws Exception { > > > > > > > > URL url = > > > > new URL( > > > > "http://localhost:8080/soap/servlet/rpcrouter"); > > > > > > > > Call call = new Call(); > > > > call.setTargetObjectURI("urn:CallCounterService"); > > > > call.setMethodName("getCount"); > > > > try { > > > > Response resp = call.invoke(url, ""); > > > > Parameter ret = resp.getReturnValue(); > > > > Object value = ret.getValue(); > > > > System.out.println("Result is " + value); > > > > } > > > > catch (SOAPException e) { > > > > System.err.println("Caught SOAPException (" + > > > > e.getFaultCode() + "): " + > > > > e.getMessage()); > > > > } > > > > } > > > > } > > > > > > > > but I received this exception: > > > > > > > > Caught SOAPException (SOAP-ENV:Protocol): Unsupported response content > > > type > > > > &quo > > > > t;text/html; charset=ISO-8859-1", must be: "text/xml". > > > > Response w > > > > as: > > > > <html><head><title>Apache Tomcat/4.1.30 - Error > > > > report</tit > > > > le><STYLE><!--H1{font-family : > sans-serif,Arial,Tahoma;color > > : > > > > white > > > > ;background-color : #0086b2;} H3{font-family : > > > sans-serif,Arial,Tahoma;color > > > > : w > > > > hite;background-color : #0086b2;} BODY{font-family : > > > > sans-serif,Arial,Tahoma;col > > > > or : black;background-color : white;} B{color : white;background-color > : > > > > #0086b2 > > > > ;} HR{color : #0086b2;} --></STYLE> > > > > </head><body><h1> > > > > HTTP Status 500 - </h1><HR size="1" > > > > noshade><p><b > > > > >type</b> Exception > > > > report</p><p><b>message</b> > > > > <u></u></p><p><b>description</b> > > > > <u>T > > > > he server encountered an internal error () that prevented it from > > > fulfilling > > > > thi > > > > s request.</u></p><p><b>exception</b> > > > > <pre>j > > > > avax.servlet.ServletException: Error building response envelope: > > > > java.lang.NullP > > > > ointerException > > > > at > > > > org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet. > > > > java:418) > > > > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > > > > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > > > > at > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > > > > icationFilterChain.java:247) > > > > at > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > > > ilterChain.java:193) > > > > at > > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > > > > alve.java:256) > > > > at > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > > > > t.invokeNext(StandardPipeline.java:643) > > > > at > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > > > > a:480) > > > > at > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > > > > > > > at > > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > > > > alve.java:191) > > > > at > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > > > > t.invokeNext(StandardPipeline.java:643) > > > > at > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > > > > a:480) > > > > at > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > > > > > > > at > > > > org.apache.catalina.core.StandardContext.invoke(StandardContext.java: > > > > 2422) > > > > at > > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j > > > > ava:180) > > > > at > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > > > > t.invokeNext(StandardPipeline.java:643) > > > > at > > > > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche > > > > rValve.java:171) > > > > at > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > > > > t.invokeNext(StandardPipeline.java:641) > > > > at > > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j > > > > ava:163) > > > > at > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > > > > t.invokeNext(StandardPipeline.java:641) > > > > at > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > > > > a:480) > > > > at > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > > > > > > > at > > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal > > > > ve.java:174) > > > > at > > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex > > > > t.invokeNext(StandardPipeline.java:643) > > > > at > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > > > > a:480) > > > > at > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > > > > > > > at > > > > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:19 > > > > 9) > > > > at > > > > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java > > > > :828) > > > > at > > > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce > > > > ssConnection(Http11Protocol.java:700) > > > > at > > > > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java > > > > :584) > > > > at > > > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP > > > > ool.java:683) > > > > at java.lang.Thread.run(Thread.java:534) > > > > </pre></p><HR size="1" > > > noshade><h3>Apache > > > > Tomc > > > > at/4.1.30</h3></body></html> > > > > > > > > In the Tomcat window a message appears: > > > > SOAP Service Manager: Unable to read 'DeployedServices.ds': assuming > > fresh > > > > start > > > > > > > > HOW CAN I RESOLVE THE PROBLEM???? > > > > ----- Original Message ----- > > > > From: "Scott Nichol" <[EMAIL PROTECTED]> > > > > To: <[EMAIL PROTECTED]> > > > > Sent: Thursday, June 10, 2004 7:34 PM > > > > Subject: Re: problem with ServiceManagerClient > > > > > > > > > > > > You do not have an XML parser in the classpath for your client. > > > > > > > > Scott Nichol > > > > > > > > Do not send e-mail directly to this e-mail address, > > > > because it is filtered to accept only mail from > > > > specific mail lists. > > > > ----- Original Message ----- > > > > From: "Francesco Dipalo" <[EMAIL PROTECTED]> > > > > To: <[EMAIL PROTECTED]> > > > > Sent: Thursday, June 10, 2004 4:13 AM > > > > Subject: problem with ServiceManagerClient > > > > > > > > > > > > > > > > My web server is Apache Tomcat 4.1.30 and I have Apache Soap 2.3.1 as > > web > > > > app. When I try: > > > > java org.apache.soap.server.ServiceManagerClient > > > > http://localhost:8080/soap/servlet/rpcrouter list > > > > I receive this exception: > > > > > > > > Exception in thread "main" java.lang.NoClassDefFoundError: > > > org/w3c/dom/Node > > > > at > > > > > > > > > > org.apache.soap.server.ServiceManagerClient.<init>(ServiceManagerClient.java > > > > :81) > > > > at > > > > > > > > > > org.apache.soap.server.ServiceManagerClient.main(ServiceManagerClient.java:2 > > > > 16) > > > > > > > > Why? > > > > > > > > > > > > > > > > > > > > -- > > > > Email.it, the professional e-mail, gratis per te: > http://www.email.it/f > > > > > > > > Sponsor: > > > > Vuoi acquistare con sconti esclusivi? Con EmailConto Risparmio puoi > > > > scontare fino al 20% i tuoi acquisti! > > > > * Prova subito la convenienza cliccando qui. > > > > Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?midf7&d-6 > > > > > > > > > > > > > > > > > > > > -- > > > > Email.it, the professional e-mail, gratis per te: > http://www.email.it/f > > > > > > > > Sponsor: > > > > La tua casella di posta ti va "stretta" prova i 100 MB di Email.it > PRO > > è > > > proprio mega! > > > > Clicca qui: > http://adv.email.it/cgi-bin/foclick.cgi?mid=1625&d=11-611-6 > > > > > > > > > > > > > > > > > > > -- > > > Email.it, the professional e-mail, gratis per te: http://www.email.it/f > > > > > > Sponsor: > > > Treccia di Bufala Campana comprala su Terrasolis.com Spedizione Gratis > > per spese superiori a 85 Euro > > > Clicca qui: > > > http://adv.email.it/cgi-bin/foclick.cgi?mid=2493&d=11-6click.cgi?mid=2152&d=11-6 > > > > > > > > > > > > > -- > > Email.it, the professional e-mail, gratis per te: http://www.email.it/f > > > > Sponsor: > > Corsi professionali in aula: Office, sviluppo web e molto altro! Dai > subito un'occhiata senza impegno ai programmi e al calendario dei corsi a > cui sei interessato... > > Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=2338&d=11-6 > > > > > > > -- > Email.it, the professional e-mail, gratis per te: http://www.email.it/f > > Sponsor: > Grandi offerte e vini pregiati, prova subito solo su Giordano vini! > Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=2623&d=11-6gi?mid=1298&d=11-6 > -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Stanco del tappetino mouse che hai?? * Stampaci l'immagine che vuoi tu! * Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=2117&d=12-6il.it/cgi-bin/foclick.cgi?mid=2603&d=12-6