Problème d'invocation d'un service Web
Bonjour,
J'ai mis en place un service web qui interroge une base desdonnées de type Microsoft Access (.mdb).
Quand j'invoque le service avec un client, j'ai le message d'erreur suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:demcoul
java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
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 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:633)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java:719)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
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 jeux.ws.QuizSoapBindingStub.randomQuestion(QuizSoapBindingStub.java:166)
at jeux.ws.Client.main(Client.java:24) |
Je n'arrive pas à m'en sortir, car je ne comprends pas du tout, parceque le code du Service a été testé d'abord comme application java simple et ça marchait sans problème, une fois transformer en ervice Web, ça ne marche plus.
Voici mon client
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
package jeux.ws;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
public class Client {
public static void main(String [] args)
{
QuizServiceService ser=new QuizServiceServiceLocator();
QuizService port=null;
try {
port = ser.getQuiz();
} catch (ServiceException e1) {
// TODO Bloc catch auto-généré
e1.printStackTrace(System.out);
}
boolean result=false;
RandomQuestion q=new RandomQuestion();
try{
//result=port.checkResponse(1, "C");
q=(RandomQuestion)port.randomQuestion();
System.out.println(q.getNumQuestion()+". "+q.getLibQuestion());
System.out.println("====================================================");
System.out.println(q.getRepA());
System.out.println(q.getRepB());
System.out.println(q.getRepC());
System.out.println(q.getRepD());
//System.out.println(result);
}
catch(RemoteException e){e.printStackTrace(System.out);}
}
} |
Est ce que je dois faire une config de ma base des données sous Tomcat ?
Bref qui a une idée pour moi ?