Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupération PJ d'un Webservice cxf

WS cxf SOAP coté server

    5 février 2016 à 18:10:07

    Bonjour,

    je suis actuellement en train d'implémenter un web-service de dépôt de fichier. Mais je n'arrive pas à trouver la manière de récupérer les PJ.

    Voici le code d'un client permettant d'appelé un web-service de dépôt de fichier.

    //Création du message
    MessageFactory messageFactory = MessageFactory.newInstance();
    SOAPMessage message = messageFactory.createMessage();
    
    //Création de la PJ
    InputStream in;
    File filePJ = new File(pathpj);
    in = new FileInputStream(filePJ);
    DataSource ds = new ByteArrayDataSource(in, null);
    DataHandler handler = new DataHandler(ds);
    
    //Ajout de la PJ
    AttachmentPart attachPart = message.createAttachmentPart(handler);
    message.addAttachmentPart(attachPart);
    
    //Appel webservice
    reponse = connection.call(message, url);

    Comme vous pouvez le voir, la PJ est déposé dans un SoapMessage. Seulement, coté serveur, je n'ai pas à disposition ce SoapMessage :

    @WebService
    public response monWebService(mesparams){
    ....
    }

    Mes paramètres n'étant que des objets/types primitives correspondant aux éléments "hors PJ" de mon appel.

    J'ai bien trouvé un moyen, mais celui-ci semble obsolète, car utilisant axis ( et non cxf) : 

    MessageContext context = MessageContext.getCurrentContext();
    SOAPMessage msg = context.getMessage();
    Iterator attIter = msg.getAttachments();


    Merci d'avance pour votre aide.


    • Partager sur Facebook
    • Partager sur Twitter

    Récupération PJ d'un Webservice cxf

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown