Hallo!
Ich habe folgendes Problem: Ich bin dabei, eine simple Java-Applikation zu programmieren, die nichts weiter kann, als Text in eine Datenbank zu speichern und wieder auszulesen.
Der DB-Zugriff hat dabei (Vorgabe) zum Zwecke der losen Kopplung & Austauschbarkeit per Webservice zu erfolgen - als IDE dient Eclipse, als Webserver das Tomcat-Addon für XAMPP (per "dynamic web project" von Eclipse aus zu verwalten). Zusätzlich ist (wieder Vorgabe) Spring/Apache CXF zu nutzen.
Das Service lässt sich auch ohne Probleme in Tomcat starten - sobald aber der Client versucht, eine WS-Methode aufzurufen, erhalte ich folgende Exceptions:
Alle wichtigen Konfigurationsdateien finden sich hier:
Gesamte Konsolenausgabe
beans.xml
spring_config.xml
web.xml
IDBService.java (Interface-Definition für das WS)
DBService.java (implementiert das WS)
Offenbar gibt es also Kommunikationsprobleme - Dinge wie eine falsche Tomcat-Installation (andere WS-Projekte laufen problemlos) oder die Firewall sind als Ursachen auszuschließen (hab ich schon deaktiviert getestet).
Hat irgendjemand eine Ahnung, wo hier das eigentliche Problem liegt? Ich bin auf jeden Fall für alle Lösungsansatze äußerst dankbar!
MBG, Christian
Ich habe folgendes Problem: Ich bin dabei, eine simple Java-Applikation zu programmieren, die nichts weiter kann, als Text in eine Datenbank zu speichern und wieder auszulesen.
Der DB-Zugriff hat dabei (Vorgabe) zum Zwecke der losen Kopplung & Austauschbarkeit per Webservice zu erfolgen - als IDE dient Eclipse, als Webserver das Tomcat-Addon für XAMPP (per "dynamic web project" von Eclipse aus zu verwalten). Zusätzlich ist (wieder Vorgabe) Spring/Apache CXF zu nutzen.
Das Service lässt sich auch ohne Probleme in Tomcat starten - sobald aber der Client versucht, eine WS-Methode aufzurufen, erhalte ich folgende Exceptions:
Code:
// Hier der WS-Aufruf = die in der Exception referenzierte Zeile 480 in DatabaseDemo.java:
// connectionParameters enthält username, pwd, etc.
ResultSet res = server.ProcessQuery( "SELECT id, content FROM text_demo", this.connectionParameters );
// Hier die Konsolenausgabe (gekürzt)
(... zunächst eine Menge Status-Info von Spring/Tomcat ...)
INFO: Creating Service {http://ise.java.webservice.demo/}IDBServiceService from class ise_java_webservice.IDBService
11.04.2008 17:38:12 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
at $Proxy22.ProcessQuery(Unknown Source)
at ise_java_tutorial.DatabaseDemo.refreshDatabaseContent(DatabaseDemo.java:480)
(...)
Caused by: java.io.IOException: /Java_DB_Demo/DBService
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1885)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1790)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:576)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
... 17 more
(...)
Exception in thread "AWT-EventQueue-0" javax.xml.ws.soap.SOAPFaultException: Could not send Message.
(... und darunter die 1. und 2. Exception nochmal ...)
Gesamte Konsolenausgabe
beans.xml
spring_config.xml
web.xml
IDBService.java (Interface-Definition für das WS)
DBService.java (implementiert das WS)
Offenbar gibt es also Kommunikationsprobleme - Dinge wie eine falsche Tomcat-Installation (andere WS-Projekte laufen problemlos) oder die Firewall sind als Ursachen auszuschließen (hab ich schon deaktiviert getestet).
Hat irgendjemand eine Ahnung, wo hier das eigentliche Problem liegt? Ich bin auf jeden Fall für alle Lösungsansatze äußerst dankbar!
MBG, Christian