Protocole HTTP
Hypertext Transfer Protocol ( HTTP ) est un connecteur prédéfini dans webMethods Integration qui permet d'envoyer des requêtes HTTP ou HTTPS à des serveurs web à partir de l'environnement d'intégration.
Actions
- httpRequest: Effectuer des requêtes HTTP ou HTTPS auprès du serveur spécifié.
Paramètres d'entrée
- Url - (Chaîne) URL de la ressource à laquelle vous souhaitez accéder. Par exemple,
http://www.rubicon.com/orders/orders.html.Important : la chaîne doit commencer parhttp://ouhttps://. - method - (Chaîne) Spécifie la méthode HTTP que vous souhaitez utiliser. Les valeurs admises sont les suivantes :
- supprimer
- obtenir
- effectif
- options
- module de correction
- envoyer
- insérer
- loadAs - (Chaîne) Forme dans laquelle vous souhaitez que httpRequest renvoie la réponse. Régler à -
bytes(par défaut) pour renvoyer le corps de la réponse sous forme d'octet[ ].streampour renvoyer le corps de la réponse sous forme de java.io.InputStream.
- data - (Document) Données que vous souhaitez que httpRequest soumette avec la demande. Spécifiez les données en utilisant une ou plusieurs des clés mentionnées ici.Important : lorsque vous utilisez plus d'une clé, args est ajouté en premier et string est ajouté en dernier.
args - Paires nom-valeur que vous voulez que ce service soumette à la ressource dans l'url. Vous pouvez utiliser des args pour soumettre des données via les méthodes POST, PUT, PATCH, GET, DELETE ou HEAD. Pour spécifier des données avec des arguments, créez un élément de type chaîne pour chaque paire nom-valeur. Le nom représente la clé et la valeur représente les données.
Avec args, la requête HTTP URL -encode automatiquement les paires nom-valeur, les sépare par &, et ajoute? pour les requêtes GET ou HEAD. webMethods Integration l'en-tête content-type prend par défaut la valeur application/x-www-form-urlencoded, mais vous pouvez spécifier un type de contenu différent à l'aide d'une chaîne de caractères ou d'une variable bytes.
- String - (Chaîne) Texte que vous voulez que le service httpRequest soumette à la ressource dans l'url. Vous pouvez utiliser une chaîne pour soumettre des données via les méthodes POST, PUT, PATCH, GET ou HEAD. Si vous utilisez une chaîne pour soumettre des données, assurez-vous de spécifier la chaîne exactement comme vous voulez qu'elle soit présentée dans le site httpRequest. (Si vous utilisez la méthode GET ou HEAD, assurez-vous que vous URL -encodez le contenu de la chaîne.Remarque : Lorsque vous utilisez une chaîne de caractères, le service httpRequest préfixe automatiquement toute la chaîne de caractères de la requête par? s'il soumet les données dans une chaîne en utilisant un GET ou un HEAD. Il n'est pas nécessaire d'inclure ce caractère dans la chaîne.
Pour les requêtes POST, PUT ou PATCH, la chaîne est incluse dans le corps de la requête envoyée à l'adresse URL.
- bytes - (byte[ ]) Données que vous voulez que ce service soumette à la ressource dans l'url. Vous pouvez utiliser des octets pour soumettre des données à l'aide des méthodes DELETE, POST, PUT ou PATCH.Note : Lorsque vous utilisez des octets et un autre élément (args ou string) pour spécifier des données, le service ajoute les données de l'élément args ou string à l'url. Le service ajoute d'abord les arguments à l'url, puis à la chaîne de caractères. Le service encode les données de l'élément bytes dans le corps du message. Pour POST, PUT et PATCH, vous pouvez spécifier stream, bytes ou mimeStream. Si vous en spécifiez plus d'un, le site httpRequest se termine par une exception.
- mimeStream - ( java.io.InputStream ) Message MIME ou SMIME que vous souhaitez que ce service soumette à la ressource indiquée dans l'url. Il contient à la fois des en-têtes et du contenu. Les en-têtes du site mimeStream sont ajoutés aux en-têtes http. Vous pouvez utiliser mimeStream pour soumettre des données en utilisant uniquement les méthodes POST, PUT ou PATCH.Note : Pour POST, PUT et PATCH, vous pouvez spécifier stream, bytes ou mimeStream. Si vous en spécifiez plus d'un, le site httpRequest se termine par une exception.
- stream - ( java.io.InputStream ) Données que vous voulez que le service httpRequest soumette à la ressource dans l'url. Vous pouvez utiliser le flux pour soumettre des données en utilisant les méthodes POST, PUT ou PATCH.Note : Lorsque vous utilisez stream et un autre élément (args, string ou bytes) pour spécifier des données, le service ajoute les données de l'élément args ou string à url. Le service ajoute les arguments à l'url en premier et à la chaîne en dernier. Le service encode les données de l'élément stream dans le corps du message. Pour POST, PUT et PATCH, vous pouvez spécifier stream, bytes ou mimeStream. Si vous en spécifiez plus d'un, le site httpRequest se termine par une exception.
- Encoding - (Chaîne) Jeu de caractères dans lequel les paramètres de données URL sont encodés (args et chaîne). L'encodage est nécessaire pour convertir l'objet chaîne en octets pour une requête POST. Spécifier un jeu de caractères enregistré auprès de l'IANA (par exemple,
ISO-8859-1). Si cette variable est nulle, l'encodage par défaut de la JVM est utilisé. Étant donné que la chaîne est utilisée dans le corps du message et non pour construire le site URL, il n'est pas nécessaire de spécifier l'encodage du paramètre de données chaîne. - Auth - (Document) Informations d'autorisation que le service http soumet lorsque la ressource spécifiée dans l'url est protégée.
- type - (Chaîne) Type de schéma d'authentification que vous voulez que ce service utilise lorsqu'il soumet cette demande. Définir sur None pour aucune authentification (par défaut), Basic pour le nom d'utilisateur et le mot de passe, Bearer pour l'autorisation OAuth, ou Digest pour l'authentification par condensé de mot de passe.
- user - (Chaîne) Le nom d'utilisateur qui est fourni pour demander une ressource protégée. Obligatoire lorsque le type est défini sur
BasicouDigest. - pass - (Chaîne) Mot de passe associé à l'utilisateur. Obligatoire lorsque le type est défini sur
BasicouDigest. - token - (Chaîne) Le jeton d'accès à soumettre au serveur de ressources OAuth. Obligatoire lorsque le type est défini sur
Bearer. - En-têtes - (Document) Champs que vous souhaitez remplacer explicitement dans l'en-tête de la requête HTTP émise par le service httpRequest. Spécifiez une clé dans les en-têtes pour chaque champ que vous souhaitez définir, où le nom de la clé représente le champ de l'en-tête et la valeur de la clé représente sa valeur.
- timeout - (Chaîne) Temps, en millisecondes, pendant lequel le webMethods Integration attend une réponse du serveur distant. La valeur par défaut est de 30 000 millisecondes.
- connectTimeout - (Chaîne) Temps, en millisecondes, que l'on attend pour se connecter au serveur distant avant d'arrêter la requête webMethods Integration attend pour se connecter au serveur distant avant que la requête ne soit arrêtée. La valeur par défaut est de 30000 millisecondes.
- newSession - (Chaîne) Drapeau indiquant si une nouvelle session est créée pour cette demande HTTP. La valeur no permet d'utiliser la session actuelle ou d'en créer une nommée (httpclient) s'il n'en existe pas, ou la valeur yes permet de créer une nouvelle session pour la requête HTTP.
- followRedirect - (Chaîne) Indique si la demande sortante suit une redirection pour les codes de réponse compris entre 300 et 400. La valeur " yes " (par défaut) permet de traiter automatiquement la redirection. La valeur " no " permet de renvoyer le code de réponse et les en-têtes sans traiter la redirection.
Paramètres de sortie
- encodedURL - Le URL soumis par le httpRequest. Il inclut tous les arguments définis dans la chaîne de caractères args or. Si le serveur distant redirige l'adresse httpRequest,, l'adresse encodedURL contient l'adresse URL vers laquelle la demande a été redirigée.
- header - (document, conditionnel) HTTP en-têtes de réponse.
lignes - (Document) Champs de l'en-tête de la réponse, où les noms des clés représentent les noms des champs et les valeurs représentent les valeurs des champs.
- status - (Chaîne) HTTP code de statut de la réponse.
- statusMessage - (Chaîne) HTTP message d'état de la réponse.
- body - (Document) Corps de la réponse HTTP.
- bytes - (byte[ ], conditionnel) Corps de la réponse HTTP représenté sous la forme d'un byte[ ]. bytes est renvoyé lorsque le paramètre d'entrée loadAs est défini sur
bytes. - stream - ( java.io.InputStream, conditional) Le corps de la réponse HTTP est représenté sous la forme d'un InputStream. Le flux est renvoyé lorsque le paramètre d'entrée loadAs est défini sur
stream.
- bytes - (byte[ ], conditionnel) Corps de la réponse HTTP représenté sous la forme d'un byte[ ]. bytes est renvoyé lorsque le paramètre d'entrée loadAs est défini sur
Notes d'utilisation
Pour les méthodes GET, HEAD et OPTIONS, le httpRequest envoie un URL. Le service n'envoie pas de corps.
Le site httpRequest envoie des données ou des chaînes de caractères dans la requête URL pour les méthodes GET ou HEAD, mais les inclut dans le corps de la requête pour les méthodes POST, PUT ou PATCH.
Si la réponse HTTP contient un code d'état de redirection 302 et que httpRequest est configuré pour rediriger, le service suit le URL fourni par le serveur distant. Si le serveur distant redirige httpRequest vers un autre emplacement, le paramètre de sortie encodedURL contient le URL vers lequel le service a été redirigé.
Lorsque la variable d'entrée de la méthode est DELETE, vous pouvez fournir une valeur dans la variable d'entrée data/bytes. Le service http transmet la valeur dans le corps de la requête au serveur distant
httpRequest Si des données sont fournies dans un format non pris en charge pour une méthode HTTP, celle-ci les ignore. Par exemple, les champs data or stream et data or mimeStream ne sont pas pris en charge avec DELETE. Toute valeur spécifiée pour ces champs est ignorée lorsque la méthode est définie sur DELETE.
Pour POST, PUT et PATCH, si une valeur est fournie pour data ou args, httpRequest définit l'en-tête content-type pour la requête à
application/x-www-form-urlencoded. Le service ignore une valeur de type de contenu fournie à l'aide d'une paire nom-valeur dans les en-têtes.Vous pouvez ajouter des paramètres de requête directement à l'entrée URL. Toutes les valeurs fournies pour les données ou les arguments sont également ajoutées. Pour la méthode GET, les données ou la valeur de la chaîne sont également incluses. Par exemple, ces entrées :
- url =
http://example-host:8080/getOrders?cust=116 - données/arguments=
{{“since”, “20180201”}, {“greaterThan”, “250.00”}}
Résultat : httpRequest envoie ce URL -
http://example-host:8080/getOrders?cust=116&somce=20180201&greaterThan=250.00.Lorsque le service httpRequest soumet un condensé de mot de passe pour authentification (c'est-à-dire que le champ auth ou type est défini sur Digest) et que la réponse HTTP Server comprend le champ d'en-tête content-type. Si la réponse ne contient pas le paramètre charset, webMethods Integration utilise la valeur du paramètre de configuration du serveur netEncoding comme jeu de caractères par défaut.
Pour les grands ensembles de données, utilisez le service compressData pour les compresser avant de les envoyer via httpRequest. Pour plus d'informations, voir compressData.
- Url - (Chaîne) URL de la ressource à laquelle vous souhaitez accéder. Par exemple,