IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

Erreur 500 / wrong numbers of arguments


Sujet :

Services Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Par défaut Erreur 500 / wrong numbers of arguments
    Bonjour à tous,

    J'ai développé un WS REST avec jax-rs, jetty, jersey qui permet de recevoir un fichier et d'autres paramètres pour sauvegarder.

    J'ai d'abord créé mon WS pour recevoir un seul fichier, et là, tout fonctionne.

    j'ai ensuite voulu permettre la réception d'un nombre indéfini de fichiers, et là, j'obtiens mon erreur 500 : Wrong number of arguments

    Voici l'entête de mon 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
     
    @POST
    	@Path("/add")
    	@Produces(MediaType.APPLICATION_JSON)
    	@Consumes(MediaType.MULTIPART_FORM_DATA)
    	public Response addAnnounce(@FormDataParam("userId") long userId,
    			@FormDataParam("catId") long catId, @FormDataParam("sCatId") long sCatId,
    			@FormDataParam("title") String title, @FormDataParam("desc") String desc,
    			@FormDataParam("price") long price,
    			@FormDataParam("toDiscuss") boolean toDiscuss,
    			@FormDataParam("minPrice") long minPrice,
    			@FormDataParam("durationId") int durationId,
    			@FormDataParam("paymentId") long paymentId,
    			@FormDataParam("addressId") long addressId,
    			@FormDataParam("photos") List<InputStream> photos)
    			throws Exception {
    Pour que ça fonctionne avec un seul fichier, j'avais remplacé simplement la ligne du paramètre "photos" par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @FormDataParam("photos") InputStream photos)
    Je fais mes tests depuis un formulaire HTML qui contient ceci pour le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="file" name="photos" />
    que j'ai modifié comme ceci pour essayer l'envoi multiplue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="file" name="photos[]" />
    Après avoir obtenu ce message d'erreur, j'ai tenté d'envoyer mon form sans sélectionner de fichier, et j'obtiens la même erreur.

    Quelqu'un aurait-il une explication ?

    D'avance merci

    Vince

  2. #2
    Membre éclairé Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Par défaut
    Je peux peut-être te lancer sur deux pistes.

    1.
    Le type => que t'envoies un ou plusieurs fichiers ça ne bouge pas.
    Je pense que tu dois dire que c'est une liste de fichiers.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <Liste>
               <input type="file" name="photos[]" />
    <Liste/>
    ou un truque du genre.

    2.
    Quand tu changes le
    name="photos" en
    name="photos[]"
    es-ce que tu modifie le code
    @FormDataParam("photos") List<InputStream> photos) en
    @FormDataParam("photos[]") List<InputStream> photos)

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Par défaut
    Bonjour,

    La balise <liste> n'existe pas.

    Je peux changer la nom du paramètre en photos[], mais ça ne change rien

    En fait, dès que je mets comme paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @FormDataParam("photos") List<InputStream> photos
    , j'obtiens le message d'erreur, alors que je n'envoies pas de fichier

  4. #4
    Membre éclairé Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Par défaut
    oups, j'ai confondu ton formulaire HTML avec de l'XML

    Mais je crois que c'est supère chaud à faire.
    Limite ça n'a pas de rapport avec les Web service. C'est du J2EE pure.

    Comment envoyer plusieurs fichiers dans un <input type=file ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Par défaut
    Il n'y a pas que ça comme problème...

    Quand j'envoyais des données sans fichier, au moment où je n'acceptais qu'un seul fichier, je n'avais pas de problème.

    Depuis que je tente de recevoir une liste de fichier, j'ai ce message systématiquement, que j'envoie ou non des fichiers...

    Donc est-ce un problème de type de paramètre ? ou autre chose ???

    Je ne sais plus où chercher...

  6. #6
    Membre éclairé Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Par défaut
    Sans trop m'avancer je chercher un truque du genre
    "input type file multiple" sur google.

    Je pense que ton problème est effectivement lié au type de paramètre.

Discussions similaires

  1. wrong number of arguments (1 for 0)
    Par captainflex dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 06/09/2008, 19h43
  2. XMLC_ReleaseXMLApplication : Erreur 500 ?
    Par Sylvain James dans le forum XMLRAD
    Réponses: 1
    Dernier message: 09/05/2005, 23h35
  3. [tomcat] Erreur 500 à l'appel de la servlet
    Par Kyti dans le forum Tomcat et TomEE
    Réponses: 26
    Dernier message: 06/04/2005, 09h37
  4. [web] [CGI][Easyphp] erreur 500
    Par nico72 dans le forum Web
    Réponses: 11
    Dernier message: 29/07/2004, 20h08
  5. Réponses: 6
    Dernier message: 28/10/2002, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo