Guarda che io ho lo stesso problema!
Configurazione della postazione di lavoro:
1. Lavoro su un macchina Linux con Distribuzione Ubuntu 7.10
2. Eclipse Europa 3.2
3. TomCat 5.5
4. Axis 1.0 (per motivi di compatibilità del libro di testo suggerito dal prof.)
Per verificare l'effettiva configurazione del web service su la mia macchina ho proceduto nella seguente maniera:
1. ho realizzato una semplice applicazione denominata HelloWorldService.ja la quale mi restituisce a video il solito messaggio "Hello World!" ed il listato viene fornito sotto per completezza:
codice:
/**
* HelloWorldService.java
*
* This file was auto-generated from WSDL
* by the Apache Axis Wsdl2java emitter.
*/
public class HelloWorldService {
// Use to get a proxy class for HelloWorldServicePort
private final java.lang.String HelloWorldServicePort_address
= "http://localhost:8080/axis/HelloWorldService.jws";
public HelloWorldServicePortType getHelloWorldServicePort() {
java.net.URL endpoint;
try {
endpoint = new java.net.URL(HelloWorldServicePort_address);
}
catch (java.net.MalformedURLException e) {
return null; // unlikely as URL was validated in wsdl2java
}
return getHelloWorldServicePort(endpoint);
}
public HelloWorldServicePortType
getHelloWorldServicePort(java.net.URL portAddress) {
try {
return new HelloWorldServiceSoapBindingStub(portAddress);
}
catch (org.apache.axis.SerializationException e) {
return null; // ???
}
}
}
2. ho copiato il contenuto della cartella /home/giuseppe/Università/Laboratorio Sistemi Distribuiti/Codice/Librerie/axis-1_0/webapps (cioè dove avevo scompattato il pacchetto di axis 1.0) e l'ho copiato nella cartella /var/lib/tomcat5.5/webapps di TomCat.
3. ho copiato il file HelloWorldService.java in /var/lib/tomcat5.5/webapps/axis e rinominando opportunamente come HelloWorldService.jws
codice:
root@giuseppe-laptop:/var/lib/tomcat5.5/webapps/axis# ls -R
.:
fingerprint.jsp happyaxis.jsp HelloWorldService.jws index.html StockQuoteService.jws WEB-INF
./WEB-INF:
classes lib perms.lst users.lst web.xml
./WEB-INF/classes:
samples
./WEB-INF/classes/samples:
addr bidbuy encoding jaxm message proxy stock userguide
attachments echo integrationGuide jaxrpc misc security transport
./WEB-INF/classes/samples/addr:
AddressBook.class AddressBookSOAPBindingImpl.class AddressBookTestCase.class Main.class
AddressBookService.class AddressBookSOAPBindingSkeleton.class Address.class Phone.class
AddressBookServiceLocator.class AddressBookSOAPBindingStub.class DOMUtils.class StateType.class
./WEB-INF/classes/samples/attachments:
EchoAttachment.class EchoAttachmentsService$MemoryOnlyDataSource.class TestRef$MemoryOnlyDataSource.class
EchoAttachmentsService.class TestRef.class
./WEB-INF/classes/samples/bidbuy:
Address.class rfq$10.class rfq$15.class rfq$1.class rfq$6.class rfq$MyTableModel.class
BidService.class rfq$11.class rfq$16.class rfq$2.class rfq$7.class Service.class
LineItem.class rfq$12.class rfq$17.class rfq$3.class rfq$8.class TestClient.class
PurchaseOrder.class rfq$13.class rfq$18.class rfq$4.class rfq$9.class v3.class
RegistryService.class rfq$14.class rfq$19.class rfq$5.class rfq.class vInterface.class
./WEB-INF/classes/samples/echo:
echoHeaderStringHandler.class InteropTestServiceLocator.class SOAPStruct.class TestClient.class
echoHeaderStructHandler.class InteropTestSoapBindingImpl.class SOAPStructStruct.class
InteropTestPortType.class InteropTestSoapBindingStub.class TestClient$1.class
InteropTestService.class SOAPArrayStruct.class TestClient$2.class
./WEB-INF/classes/samples/encoding:
Data.class DataDeserFactory.class DataSerFactory.class TestElem.class
DataDeser.class DataSer.class ElementService.class TestSer.class
./WEB-INF/classes/samples/integrationGuide:
example1 example2
./WEB-INF/classes/samples/integrationGuide/example1:
MyListPortsWriter.class MyWSDL2Java.class
./WEB-INF/classes/samples/integrationGuide/example2:
MyDeployWriter.class MyEmitter.class MyGeneratorFactory.class WSDL2Useless.class
./WEB-INF/classes/samples/jaxm:
DelayedStockQuote.class SOAPFaultTest.class UddiPing.class
./WEB-INF/classes/samples/jaxrpc:
address GetInfo.class GetQuote1.class hello
./WEB-INF/classes/samples/jaxrpc/address:
AddressBean.class AddressService.class AddressServiceServiceLocator.class AddressSoapBindingStub.class
AddressClient.class AddressServiceService.class AddressSoapBindingImpl.class
./WEB-INF/classes/samples/jaxrpc/hello:
ClientHandler.class HelloBindingImpl.class Hello.class HelloClient.class ServerHandler.class
./WEB-INF/classes/samples/message:
MessageService.class TestMsg.class
./WEB-INF/classes/samples/misc:
TestClient.class
./WEB-INF/classes/samples/proxy:
ProxyService.class
./WEB-INF/classes/samples/security:
Client.class ClientSigningHandler.class LogHandler.class Service.class SignedSOAPEnvelope.class
./WEB-INF/classes/samples/stock:
ComInfoService.class GetInfo.class GetQuote1.class GetQuote2.class GetQuote.class StockQuoteService.class
./WEB-INF/classes/samples/transport:
FileReader.class FileSender.class FileTest.class FileTransport.class tcp
./WEB-INF/classes/samples/transport/tcp:
AdminClient.class Handler.class TCPListener$SocketHandler.class TCPTransport.class
GetQuote.class TCPListener.class TCPSender.class
./WEB-INF/classes/samples/userguide:
example1 example2 example3 example4 example5 example6
./WEB-INF/classes/samples/userguide/example1:
TestClient.class
./WEB-INF/classes/samples/userguide/example2:
CalcClient.class
./WEB-INF/classes/samples/userguide/example3:
Client.class MyService.class
./WEB-INF/classes/samples/userguide/example4:
Client.class LogHandler.class Service.class
./WEB-INF/classes/samples/userguide/example5:
BeanService.class Client.class Order.class
./WEB-INF/classes/samples/userguide/example6:
WidgetPrice.class
./WEB-INF/lib:
axis-ant.jar commons-discovery.jar jaxrpc.jar saaj.jar xercesImpl.jar
axis.jar commons-logging.jar log4j-1.2.4.jar wsdl4j.jar
4. ho riavviato il server TomCat
codice:
root@giuseppe-laptop:/etc/init.d# ./tomcat5.5 restart
* Stopping Tomcat servlet engine tomcat5.5 [ OK ]
* Starting Tomcat servlet engine tomcat5.5 [ OK ]
5. ho digitato la seguente URL: http://localhost:8180/axis/HelloWorldService.jws
ed in primis mi è stato visualizzato il seguente messaggio di errore:
codice:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Error instantiating servlet class org.apache.axis.transport.http.AxisServlet
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:619)
root cause
java.lang.NoClassDefFoundError: Could not initialize class org.apache.axis.transport.http.AxisServlet
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
java.lang.Class.newInstance0(Class.java:355)
java.lang.Class.newInstance(Class.java:308)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:619)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5 logs.
Apache Tomcat/5.5