$soap.call¶
Description¶
Invoque un service SOAP.
Syntaxe¶
$soap.call( address , service , message [ , options ] )
Paramètres¶
addressstring- Adresse (URL) du service à invoquer
servicestring- Nom du service à invoquer
messagestring- Message SOAP à envoyer
optionsmap-
Map d'options. Les options reconnues sont:
methodstring-
Méthode d'appel SOAP. Ewt implémente différentes méthodes pour effectuer un appel SOAP. Dans la version actuelle, les méthodes suivantes sont implémentées:
jaxws: méthode basée sur l'API JAX-WSjavax/jakarta: méthode standard utilisant l'API SOAP de java- autre valeur : implémentation utilisant
HttpURLConnection; c'est la méthode par défaut
soapactionstring- Valeur de l'entête HTTP
SOAPAction usernamestring- Nom d'utilisateur
passwordstring- Mot de passe associé au nom d'utilisateur
binding-
Type de binding. La valeur peut être indiquée au moyen d'un keyword ou d'un nom de binding explicite. Les keyword reconnus sont:
soap11: Binding SOAP 1.1 correspondant au namespacehttp://schemas.xmlsoap.org/wsdl/soap/httpsoap12: Binding SOAP 1.2 correspondant au namespacehttp://www.w3.org/2003/05/soap/bindings/HTTP/soap11-mtom(uniquement avec méthodejaxws): Binding 1.1 MTOM correspondant au namespacehttp://schemas.xmlsoap.org/wsdl/soap/http?mtom=truesoap12-mtom(uniquement avec méthodejaxws): Binding 1.2 MTOM correspondant au namespacehttp://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true
Toute autre valeur non vide est utilisée comme telle en tant que binding. Si non défini, le binding SOAP 1.1 est utilisé.
soapheader-
Header de l'enveloppe Soap. Le contenu de l'élément décrit par le paramètre est repris comme valeur de Header. La balise racine est ignorée, seul le contenu de cette dernière est repris.
Ainsi pour la valeur
<sample><foo>foo</foo><bar>bar</bar></sample>, le header suivant sera construit:<soap:Header> <foo>foo</foo> <bar>bar</bar> </soap:Header>L'élément racine de la valeur de header n'est pas repris dans le header final. Il est uniquement nécessaire pour permettre de spécifier plusieurs éléments de header.
httpheaders-
Map de clé/valeur(s) décrivant les headers à passer à la requête SOAP. La clé doit correspondre au nom de header et la/les valeurs au(x) valeur(s) associée(s).
Si l'option
soapactionest définie, elle prime sur la valeur du headerSOAPActionqui serait spécifiée par la présente option. sslcontextmap-
Paramètres SSL permettant notamment d'activer une authentification par certificat. Les propriétés suivantes sont supportées:
keyStorefile / string- Keystore
keyStorePasswordstring- Mot de passe du keystore
keyAliasstring-
Nom de la clé à utiliser dans le keystore; il n'est pas nécessaire de spécifier le nom si le keystore ne contient qu'une seule clé.
Si un alias est spécifié, le moteur s'attend à ce que la clé qu'il référence soit de type X509.
keyPasswordstring- Mot de passe de la clé. Si non défini, la propriété reprend la
même valeur que
keyStorePassword. keyStoreTypestring- Type de keystore; si non défini, la valeur par défaut est
PKCS12 sslProtocolstring- Protocole SSL à utiliser; si non défini, la valeur par défaut
est
TLS. keyAlgorithmstring-
Algorithme de chargement des clés. Il est recommandé de ne pas définir cette cette propriété et de laisser la JVM gérer automatiquement. Par défaut, la JVM s'appuie sur la valeur de la propriété
ssl.KeyManagerFactory.algorithmet se rabat sur la valeurSunX509lorsque la propriété n'est pas définie.Notez également que si la propriété
keyAliasest définie, le moteur s'attend à trouver un clé X509.
result-
Type de résultat attendu en réponse. Les valeurs possibles sont:
payload(valeur par défaut): la méthode retourne en réponse le payload de la réponse du serviceenvelope: la méthode retourne en réponse l'intégralité de l'enveloppe reçue du service
loglevel-
Niveau de log dans lequel afficher la requête et la réponse. Les valeurs possibles sont les niveaux de log standards (trace, debug, info, warn ou error).
La valeur par défaut est vide. Dans ce cas, aucun log n'est généré.
Retour¶
Retourne le contenu de la réponse SOAP (sans l'enveloppe)
Exemple 1¶
1 2 3 4 5 6 7 8 | |
L'exemple ci-dessus génère la valeur suivante dans la variable res:
<?xml version="1.0" encoding="UTF-8"?>
<FahrenheitToCelsiusResponse xmlns="https://www.w3schools.com/xml/">
<FahrenheitToCelsiusResult>23.8888888888889</FahrenheitToCelsiusResult>
</FahrenheitToCelsiusResponse>
Exemple 2¶
1 2 3 4 5 6 7 8 9 | |
L'exemple ci-dessus génère la valeur suivante dans la variable res:
<?xml version="1.0" encoding="UTF-8"?>
<FahrenheitToCelsiusResponse xmlns="https://www.w3schools.com/xml/">
<FahrenheitToCelsiusResult>23.8888888888889</FahrenheitToCelsiusResult>
</FahrenheitToCelsiusResponse>