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
}
} |
Partager