Salut à tous,

j'essaye d'utiliser un SimpleFormController pour récupérer les données d'un formulaire d'une application GWT.
Celui-ci contient deux champs : "name" et "upload"
Le premier est un champ pour du texte (ie, le nom du fichier) et le deuxième pour uploader un fichier. Jusque là pas de problème

Côté serveur, j'ai une servlet avec un mapping qui va bien :
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
 
<bean id="urlMapping"
		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="mappings">
			<props>
				<prop key="/upload">uploadFile</prop>
				<prop key="/download">downloadFile</prop>
			</props>
		</property>
	</bean>
 
	<bean id="uploadFile" class="enseirb.pfa.gwt.PFAGWT.server.filemanager.FileUpload" >
		<property name="commandClass" value="enseirb.pfa.gwt.PFAGWT.server.filemanager.FileUploadBean" />
	</bean>
 
	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
 
	<bean id="downloadFile" class="enseirb.pfa.gwt.PFAGWT.server.filemanager.FileDownload" />
Pour l'instant, je respecte l'exemple fournit dans la doc de Spring pour ce type de controleur. Ensuite mon controleur :
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
 
@Override
	protected ModelAndView onSubmit(HttpServletRequest request,
			HttpServletResponse response, Object command, BindException errors)
			throws Exception {
 
		logger.info("onSubmit : "
				+ ((FileUploadBean) command).getName() + ", "
				+ ((FileUploadBean) command).getFile());
 
		return null;
	}
 
	protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws ServletException {
		binder.registerCustomEditor(byte[].class, new ByteArrayMultipartFileEditor());
	}
Et le bean qui est attaché à mon formulaire:
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
 
public class FileUploadBean {
 
	/**
         * Nom du fichier
         */
	private String name;
 
	/**
         * Données du fichier
         */
	private byte[] upload;
 
	public void setFile(byte[] file) {
		this.upload = file;
	}
 
	public byte[] getFile() {
		return upload;
	}
 
	public String getName() {
		return name;
	}
 
	public void setName(String name) {
		this.name = name;
	}
}
Cependant quand, j'exécute le tout :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
[INFO] 2010-03-17 21:12:50,635 INFO [FileUpload] - onSubmit : test, null
Ce qui signifie que j'arrive bien à récupérer le premier champ mais pas le deuxième. J'ai vérifié avec un plugin sous firefox (httpfox) et la requete POST est bien lancée avec tout ce qu'il faut :
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
 
(Request-Line)	POST /filemanager/upload HTTP/1.1
Host	localhost:8888
User-Agent	Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2) Gecko/20100115 Firefox/3.6
Accept	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language	fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding	gzip,deflate
Accept-Charset	ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive	115
Connection	keep-alive
Referer	http://localhost:8888/PFAGWT/PFAGWT.html?gwt.codesvr=192.168.159.1:9997
Cookie	JSESSIONID=14nezs55afnxa
Content-Type	multipart/form-data; boundary=---------------------------146152234826798
Content-Length	5112
 
name	 test
upload  filename="test.txt" Content-Type: text/plain
Alors le problème vient-il du CustomEditor qui n'est pas adapté aux types de contenu ou d'une mauvaise configuration (aucune exception lancée en tout cas)?
J'ai vu que d'autre personnes avaient eût aussi des problèmes sur le forum mais je n'ai pas trouvé de réponse convaincante dans mon cas. Est-ce que quelq'un a une petite idée d'où peut venir le problème?



[Edit]
Personne n'a une petite idée ou déjà eu un problème similaire?
Est-ce que c'est tellement évident que personne ne souhaite me mettre sur la piste?
Je tiens à préciser que je suis aussi passé par une HttpServlet avec un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
request.getAttribute("upload")
mais rien n'y fait.