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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?