bonjour,

J'essai vainement de renvoyer un tableau d'objets (ArrayList, List, etc...) mais j'ai toujours le même warning et plantage avec RAD7 et JAX-RPC 1.1 :

ArrayList ne valide pas les spéc JAX-RPC 1.1

Pourtant il semble que ce sont des types supportés.
J'ai essayé de passer par un tableau d'objets, mais la encore une erreur propre WS :

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
[11/01/10 17:31:09:239 CET] 00000034 ServletWrappe E   SRVE0068E: Exception non interceptée émise par une des méthodes de service du servlet : com_bnpparibas_services_appli_dlf_evt_Appli_Dlf_Evt. Exception : java.lang.NullPointerException
	at com.ibm.ws.webservices.engine.transport.http.WebServicesServlet.processWsdlRequest(WebServicesServlet.java:315)
	at com.ibm.ws.webservices.engine.transport.http.WebServicesServlet.doGet(WebServicesServlet.java:624)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
	at com.ibm.ws.webservices.engine.transport.http.WebServicesServletBase.service(WebServicesServletBase.java:341)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:593)
	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:533)
	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3548)
	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:269)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:818)
	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
	at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
Voici le code du service à implémenté :

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
public class Appli_Evt {
	public Appli_Evt(){
		super();
	}
 
	public Evt[] getEvt(String dateFile){
		List<Evt> evtList = new ArrayList<Evt>();
		try{
			File f = new File(dateFile);
			System.out.println("Used file : "+f.getCanonicalPath());
			FileReader fr = new FileReader(f.getName());
			BufferedReader br = new BufferedReader(fr);
 
			String line = br.readLine();
 
			while ((line = br.readLine()) != null){
 
				if (line.trim().length() > 11){
					Evt evt = new Evt();
					evt.setXXX(line.substring(02, 11));
					evt.setYYY(line.substring(11,21));
					evt.setDDD(line.substring(21,25));
					evt.setEEE(line.substring(25,29));
					...
					evtList.add(evt);
				}
			}
		}catch(IOException ioe){
			ioe.printStackTrace();
		}
	return (Evt[])evtList.toArray();
	}	
}

Quelles sont les solutions possible ?

Merci.