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

XML/XSL et SOAP Discussion :

[SOAP] Redirection des requêtes SOAP


Sujet :

XML/XSL et SOAP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [SOAP] Redirection des requêtes SOAP
    Bonjour à tous,

    Je travaille actuellement sur des services bouchonnés (MockService) avec SOAP. Les réponses sont renvoyées selon des conditions définis en Groovy dans SOAP.
    Cependant, j'aimerais savoir si il était possible (en Groovy par exemple) de "forwader" les requêtes qui ne respectent pas ces conditions directement vers un (autre) web service.

    En gros, dans certains cas je passe par mes bouchons, sinon j'accède directement au web service existant.

    En espérant avoir été clair

    Merci d'avance pour votre aide!

    Pierrick

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bon et bien en fait je viens de trouver une solution à force de chercher

    Je la poste ici dans le cas ou cela intéresserait quelqu’un.

    Le code Groovy de SOAP UI:
    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
    if(blabla){
    // return mon bouchon
    }
    sinon:
     
    def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
     
    // on choisit l'URL de destination
    def soapRequest = mockRequest.requestContent
    def soapUrl = new URL("URL_DU_SERVICE")
    def connection = soapUrl.openConnection()
     
    connection.setRequestMethod("POST")
    connection.setRequestProperty("Content-Type" ,"text/html")
    connection.setRequestProperty("SOAPAction", "")
    connection.doOutput = true
     
    // On forward la requête SOAP vers le nouveau service
    Writer writer = new OutputStreamWriter(connection.outputStream);
    writer.write(soapRequest)
    writer.flush()
    writer.close()
    connection.connect()
     
    // on récupère le contenu 
    def soapResponse = connection.content.text
    def responseXPathHelper = groovyUtils.getXmlHolder(soapResponse)
     
    responseXPathHelper.declareNamespace("envelop", "http://www.w3.org/2003/05/soap-envelope")
    responseXPathHelper.declareNamespace("msg", "https://example.org/soap/service")
     
    // on l'ajoute à notre variable pour l'enveloppe de retour
    requestContext.responseMessage = soapResponse
    La variable a ajouter dans l'enveloppe de retour SOAP:

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

Discussions similaires

  1. Transformer des requêtes SOAP avec XSL
    Par enzostar dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 08/08/2012, 09h54
  2. Sauvegarde des requêtes SOAP dans un fichier log
    Par death_style dans le forum Services Web
    Réponses: 1
    Dernier message: 28/12/2011, 14h28
  3. Réponses: 14
    Dernier message: 23/05/2010, 11h49
  4. envoyer des requêtes SOAP a un client distant
    Par charouka dans le forum NetBeans
    Réponses: 0
    Dernier message: 30/04/2010, 10h04
  5. Réponses: 2
    Dernier message: 22/08/2008, 17h03

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