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 :

Client Jersey : problème récupération d'un type PDF


Sujet :

Services Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut Client Jersey : problème récupération d'un type PDF
    Bonjour,
    je fais appel à un web service renvoyant du PDF (header application/pdf).

    En utilisant un client Jersey,
    je fais comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    			// Appel Web Service récup des docs PDF
    			ClientConfig config = new DefaultClientConfig();
    			Client client = Client.create(config);
    			WebResource service = client.resource(getBaseURIPdf());
     
    			MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
    			queryParams.add("refdoc", "1874");
    			String response = service.queryParams(queryParams).accept("application/pdf").get(String.class);
    			return response;
    En passant en debug, je vois bien les octets du pdf dans ma variable mais lorsque je veux l'enregistrer sur disque, j'ai bien un document PDF de 2 pages mais vierge comme si des données avaient été supprimées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    		// Sauvegarde du pdf sur disque
    		try
    		{
     
    			byte[] bytearray = pdf.getBytes();
    			FileOutputStream fileoutputstream = new FileOutputStream("D:/Test/doc.pdf");
    		    fileoutputstream.write(bytearray);
    		    fileoutputstream.close();		
    		}
    		catch (Exception e)
    		{
    			String msd = e.getMessage();
    		}
    La variable pdf étant le résultat de la méthode plus haut.

    Jersey me renvoie automatiquement un objet de type String (la méthode get est faite comme ceci) mais je n'arrive pas à enregistrer le pdf contenu dans ma String correctement. Y'aurai-il une opération de conversion/charset à faire svp ?
    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    En relisant la doc Jersey, on n'est pas forcé de passer par un String mais aussi par un InputStream, problème résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/01/2011, 16h12
  2. Réponses: 4
    Dernier message: 20/03/2010, 18h38
  3. Problème récupération adresse IP du client
    Par PsychedeChed dans le forum ASP.NET
    Réponses: 2
    Dernier message: 27/01/2009, 23h21
  4. [AJAX] Récupération d'une reponse de type PDF
    Par loukoum82 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/10/2008, 16h17
  5. [Tableaux] problème récupération type de fichier
    Par Methode dans le forum Langage
    Réponses: 2
    Dernier message: 13/02/2007, 22h11

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