R
rdis1983
Salve,
sto realizzando un applicazione Java che utilizza un Web Service con
Eclipse 3.2.
Questo Web Service ha il compito di salvare un oggetto su database
MySQL facendo uso delle librerie di Hibernate 3.1.3.
L'applicazione gira su un server Tomcat 5.5 che fa uso delle librerie
j2sdk1.4.2_10 e utilizza librerie di Axis 1.4 per i Web Service.
L'applicazione è in realtà costituita da un applicazione client che
richiama il Web Service ed un applicazione server che si preoccupa di
salvare gli oggetti sul database. Eseguendo il client ottengo il
seguente errore:
AxisFault
faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.reflect.InvocationTargetException
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:notebook-pc
java.lang.reflect.InvocationTargetException
at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1712)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at source.Start.main(Start.java:42)
In particolare ho notato che questo si verifica nel momento in cui si
invoca un metodo chiamato "save" messo a disposizione da Hibernate. Se
commetto la riga corrispondente a tale istruzione, richiedendo al web
service di restituire semplicemente una stringa, l'applicazione
funziona correttamente. Suppongo che il problema derivi dal database
MySQL, ma non capisco di cosa si tratta. Avete qualche idea?
sto realizzando un applicazione Java che utilizza un Web Service con
Eclipse 3.2.
Questo Web Service ha il compito di salvare un oggetto su database
MySQL facendo uso delle librerie di Hibernate 3.1.3.
L'applicazione gira su un server Tomcat 5.5 che fa uso delle librerie
j2sdk1.4.2_10 e utilizza librerie di Axis 1.4 per i Web Service.
L'applicazione è in realtà costituita da un applicazione client che
richiama il Web Service ed un applicazione server che si preoccupa di
salvare gli oggetti sul database. Eseguendo il client ottengo il
seguente errore:
AxisFault
faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.reflect.InvocationTargetException
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:notebook-pc
java.lang.reflect.InvocationTargetException
at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1712)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at source.Start.main(Start.java:42)
In particolare ho notato che questo si verifica nel momento in cui si
invoca un metodo chiamato "save" messo a disposizione da Hibernate. Se
commetto la riga corrispondente a tale istruzione, richiedendo al web
service di restituire semplicemente una stringa, l'applicazione
funziona correttamente. Suppongo che il problema derivi dal database
MySQL, ma non capisco di cosa si tratta. Avete qualche idea?