Unrue
28-04-2005, 16:18
HO creato un web services deployato sotto axis, il tutto sotto tomcat 5. Questo web services ha 5 metodi. uno di questi,prevede di leggere da un database le matricole dei dipendenti e restituirle in un array di stringhe. Quando richiamo il metodo da una classe stub java ho la seguente eccezione:
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:HOST
java.lang.reflect.InvocationTargetException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1295)
at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:321)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:288)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:192)
at oracle.xml.jaxp.JXSAXParser.parse(JXSAXParser.java:292)
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:424)
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:2754)
at org.apache.axis.client.Call.invoke(Call.java:2737)
at org.apache.axis.client.Call.invoke(Call.java:2413)
at org.apache.axis.client.Call.invoke(Call.java:2336)
at org.apache.axis.client.Call.invoke(Call.java:1793)
at mypackage2.ClasseStub.main(ClasseStub.java:66)
Il metodo non prende nessun parametro in ingresso. Credo sia unproblema di serializzazione di parametri, in quanto il metodo mi da in uscita 10 stringhe, un array di byte ed un intero.O forse non riesce ad invocare il metodo. L'ho chiamato cosi':
call.invoke((Object[])null);
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:HOST
java.lang.reflect.InvocationTargetException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1295)
at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:321)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:288)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:192)
at oracle.xml.jaxp.JXSAXParser.parse(JXSAXParser.java:292)
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:424)
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:2754)
at org.apache.axis.client.Call.invoke(Call.java:2737)
at org.apache.axis.client.Call.invoke(Call.java:2413)
at org.apache.axis.client.Call.invoke(Call.java:2336)
at org.apache.axis.client.Call.invoke(Call.java:1793)
at mypackage2.ClasseStub.main(ClasseStub.java:66)
Il metodo non prende nessun parametro in ingresso. Credo sia unproblema di serializzazione di parametri, in quanto il metodo mi da in uscita 10 stringhe, un array di byte ed un intero.O forse non riesce ad invocare il metodo. L'ho chiamato cosi':
call.invoke((Object[])null);