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 :

Passage paramètres WebService


Sujet :

Services Web Java

  1. #1
    Membre du Club
    Profil pro
    lead dev
    Inscrit en
    Février 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : lead dev

    Informations forums :
    Inscription : Février 2008
    Messages : 75
    Points : 65
    Points
    65
    Par défaut Passage paramètres WebService
    Bonjour,

    Appel d'un WS en Java à partir d'une autre appli. En mode debug j'accède bel et bien à l'implémentation du service ciblé MAIS... mes paramètres sont tous NULL.
    Du coup pourriez vous m'indiquer dans le code suivant ce qui pose problème svp ? J'ai beau chercher, rien n'y fait !

    Interface 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
    @WebService(
            portName = "MonPort",
            serviceName = "MonService",
            targetNamespace = "http://monsite.com/wsdl",
            endpointInterface = "monEndPointInterace")
    @SOAPBinding(style=Style.RPC)
    public interface MonWs {
     
    	@WebMethod(operationName="blablaMethode")
    	public int blablaMethode(@WebParam(name="codeA") String acti,
    			@WebParam(name="codeD") String dep,
    			@WebParam(name="annee") Short an,
    			@WebParam(name="numOP") Long numOp,
    			@WebParam(name="nom") String nom);
    }

    Implementation 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
    @WebService(
            portName = "MonPort",
            serviceName = "MonService",
            targetNamespace = "http://monsite.com/wsdl",
            endpointInterface = "monEndPointInterace")
    public class MonWsImpl implements MonWs {
     
    	@EJB
    	MonMetierService metierService;
     
    	public int blablaMethode(String acti, String dep, Short an,
    			Long numOp, String nom) {
    		// Appel du service Metier
    	}
    Appel à partir d'une autre application
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    public void machinTruc(String codeA, String codeD, Short annee, Long numOp) {
    try {
    			// Récupération des noms de service et de port
    			QName serviceQN = new QName("http://monsite.com/wsdl", "MonService");
    			QName portQN = new QName("http://monsite.com/wsdl", "MonPort");
     
    			// Création du service
    			Service service = Service.create(serviceQN);
    			service.addPort(portQN, SOAPBinding.SOAP11HTTP_BINDING,  "http://localhost:8080/MonAppliCible/MonService");
     
    			// Création d'une instance Dispatch
    			Dispatch<SOAPMessage> dispatch = service.createDispatch(portQN, SOAPMessage.class, Service.Mode.MESSAGE);
     
    			// Composition du message de demande
    			MessageFactory mf;
    				mf = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
     
    			// Créer un message.  Cet exemple fonctionne avec l'élément SOAPPART.
    			SOAPMessage request = mf.createMessage();
    			SOAPPart part = request.getSOAPPart();
     
    			// Obtenir l'élément SOAPEnvelope ainsi que l'en-tête et les éléments de corps.
    			SOAPEnvelope env = part.getEnvelope();
    			SOAPBody body = env.getBody();
     
    			// Construire la charge de message.
    			SOAPElement operation = body.addChildElement("blablaMethode", null, "http://monsite.com/wsdl");
    			SOAPElement valActivite = operation.addChildElement("codeA");
    			valActivite.addTextNode(codeA);
    			SOAPElement valDepot = operation.addChildElement("codeD");
    			valDepot.addTextNode(codeD);
    			SOAPElement valAnnee = operation.addChildElement("annee");
    			valAnnee.addTextNode(String.valueOf(annee));
    			SOAPElement valOdp = operation.addChildElement("numOp");
    			valOdp.addTextNode(String.valueOf(numOp));
    			request.saveChanges();
     
    			// Appel du WS avec les paramètres
    			SOAPMessage response = dispatch.invoke(request);
    } catch (SOAPException e) {
         // Gestion exception		
    }
    }

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 288
    Points : 261
    Points
    261
    Par défaut
    Bonjour, est ce que tu pourrais poster le schéma (xsd) du webservice ?
    Merci de lire les règles du forum et surtout celle là Message clair et précis.
    Evitons les ctrl c ctrl v => Ne sortons pas les codes de leur contexte sinon ça ne marche pas.

  3. #3
    Membre du Club
    Profil pro
    lead dev
    Inscrit en
    Février 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : lead dev

    Informations forums :
    Inscription : Février 2008
    Messages : 75
    Points : 65
    Points
    65
    Par défaut
    Pa ni pwobelm, Shéma XSD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://monsite.com/wsdl">
       <soapenv:Header/>
       <soapenv:Body>
          <wsdl:blablaMethode>
             <codeA>?</codeA>
             <codeD>?</codeD>
             <annee>?</annee>
             <numOp>?</numOp>
             <nom>?</nom>
          </wsdl:blablaMethode>
       </soapenv:Body>
    </soapenv:Envelope>

Discussions similaires

  1. [ Struts ] [ Jsp ] [ Javascript ] Passage paramètre
    Par bouchette63 dans le forum Struts 1
    Réponses: 7
    Dernier message: 23/05/2006, 14h04
  2. Exécution d'un prog avec passage paramètres
    Par licorne dans le forum C
    Réponses: 3
    Dernier message: 04/05/2006, 13h05
  3. [SQLSERVER]Pb passage paramètre procédure stockée
    Par galinijay dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/08/2005, 11h59
  4. [JSP] Problème passage paramètre
    Par besco dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 13/09/2004, 10h15
  5. Fenêtre enfant MDI : passage paramètre à la création
    Par Orangina dans le forum C++Builder
    Réponses: 3
    Dernier message: 21/07/2004, 11h55

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