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

Spring Java Discussion :

Passer un objet comme entrée du client web service


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Par défaut Passer un objet comme entrée du client web service
    Bonjour,
    J'ai crée une classe qui récupère les données du formulaire de ma paje jsp sous forme d'un objet.
    Je voudrais savoir si dans mon code client je peux lui passer comme entrée cet objet là?

    Merci de vos réponses

  2. #2
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Par défaut
    Quand tu dis, comme entrée, je suppose que tu parle du WebServiceTemplate ?
    Hikage
    SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
    [Personal Web] [CV]

    F.A.Q Spring Framework - Participez !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Par défaut
    Citation Envoyé par Hikage Voir le message
    Quand tu dis, comme entrée, je suppose que tu parle du WebServiceTemplate ?
    Oui je veux dire à l'appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    webServiceTemplate.sendSourceAndReceiveToResult(URL,source, result);
    source prend l'objet récupéré!!

  4. #4
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Par défaut
    Dans le webserviceTemplate tu as divers méthodes du type marshalSendAndReceive.

    Celles-ci permettent d'utiliser un object en entrée, a condition que cet objet fasse partie d'un contexte de marshalling ( JiBx, JAXB ou autres ).
    Hikage
    SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
    [Personal Web] [CV]

    F.A.Q Spring Framework - Participez !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Par défaut
    Bonjour, j'ai regardé un peu qques docs et je pense que je dois utiliser la méthode marshall() pour convertir mon objet java en xml.
    Moi je récupère un objet rempli avec toutes les valeurs dont j'ai besoin mais voilà j'arrive pas exactement à savoir comment utiliser marshall, des fois je retrouve qu'il faut l'introduire dans le endpoint, dans le fichier application-context.xml et dans d'autres juste un traitement comme celà
    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
    import javax.xml.bind.JAXBContext;
    import javax.xml.bind.JAXBException;
    import javax.xml.bind.Marshaller;
    import chienp.*;
     
    public class Creer {   
        public static void main( String[] args ) {
            try {
                JAXBContext jc = JAXBContext.newInstance( "chienp" );
                ObjectFactory factory = new ObjectFactory();
                Chien medor = factory.createChien();
                medor.setNom("medor");
                Personne memere = factory.createPersonne();
                memere.setNom("Michu");
                memere.setAdresse("impasse du puit");
                medor.setMaitre(memere);
                medor.setPuces(76);
                Marshaller m = jc.createMarshaller();
                m.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
                m.marshal(medor, System.out);
            } catch( Exception e ) {
                e.printStackTrace();
            }
        }
    }
    Je sais pas exactement comment faire et d'ou viennent les methodes createChien() et createPersonne().
    Si quelqu'un peut m'eclairer ça sera sympa, emrci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Par défaut
    voici mon code client:
    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
    34
    35
    public class WebServiceClient {
     
     
    	public String doRecupBean5(){
     
     
    		Languebean lb = new Languebean();
     
    		FacesContext context = FacesContext.getCurrentInstance();
     
    		//Récupérer un objet lb rempli avec les données saisies a partir du formulaire
    		lb = (Languebean)context.getApplication().createValueBinding("#{langue}").getValue(context);	
     
    		//System.out.println(lb.getCODLAN());
     
    		 String test = "<CVRequest xmlns=\"http://com.hr.ws/schema/rechercheL\"><LangueRech>"+lb.getCODLAN()+"</LangueRech></CVRequest>";
     
     
     
     
    		 System.out.println(test);
     
     
    	     WebServiceTemplate webServiceTemplate = new WebServiceTemplate(); 
     
    	     StreamSource source = new StreamSource(new StringReader(test));
     
    	     StreamResult result = new StreamResult(System.out);
     
    	   webServiceTemplate.sendSourceAndReceiveToResult("http://localhost:8080/spring-wsTest/rechercherLangueService/",source, result);
     
     
    		return "valider";
     
    		}
    je veux modifier mon objet lb en xml et l'envoyer comme source du web service client
    j'ai compris ke mon objet lb doit être de type marshaller, d'abord est ce que c possible ce ke je veux faire? et si c le cas, comment faire, je crois ke ça est faux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JAXBContext context = JAXBContext.newInstance("lb");

Discussions similaires

  1. Passer un objet comme attribut d'une classe
    Par Leduc08 dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 05/04/2011, 11h54
  2. [modelDriven] Passer un objet modèle entre 2 actions
    Par romainw dans le forum Struts 2
    Réponses: 2
    Dernier message: 16/10/2007, 13h33
  3. Créer un client Web Service sous Eclipse et Windows
    Par Lebas dans le forum Services Web
    Réponses: 2
    Dernier message: 28/08/2006, 10h53
  4. client web service
    Par ybennani dans le forum Services Web
    Réponses: 4
    Dernier message: 11/04/2006, 09h50
  5. Client Web Service
    Par caro. dans le forum Services Web
    Réponses: 3
    Dernier message: 08/04/2005, 16h14

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