RESTResponseV2 - Inclus, global
L’API RESTResponseV2 fournit des méthodes qui permettent d’utiliser les données retournées par un message REST sortant en code JavaScript.
Un objet RESTResponseV2 est renvoyé par les méthodes RESTMessageV2execute() et executeAsync().
Vous pouvez utiliser cette API dans les applications incluses dans le périmètre ou dans le périmètre global.
Cette API s’exécute dans l’espace de noms sn_ws .
RESTResponseV2 : getAllHeaders()
Renvoie tous les en-têtes contenus dans la réponse, y compris les en-têtes en double.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| List<GlideHTTPHeader> | Liste des en-têtes contenus dans la réponse. Chaque en-tête est représenté sous la forme d’un objet GlideHTTPHeader qui contient le nom et la valeur de l’en-tête. |
L’exemple de code de suivi montre comment appeler l’API de table REST, puis répertorie tous les en-têtes trouvés dans la réponse.
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('http://<SN_Instance_host>/api/now/table/incident');
request.setHttpMethod('GET');
request.setBasicAuth('username', 'password');
request.setRequestHeader("Accept", "application/json");
var res = request.execute();
if (res.getStatusCode() != 200) {
gs.info('Bad Request');
}
var headers = res.getAllHeaders();
for(var i in headers){
gs.info(headers[i].name + ': ' + headers[i].value);
}
En-têtes de réponses
X-Is-Logged-In: true
X-Transaction-ID: e3003cb2db8c
X-Total-Count: 66
X-Content-Type-Options: nosniff
Pragma: no-store,no-cache
Cache-Control: no-cache,no-store,must-revalidate,max-age=-1
Expires: 0
Content-Type: application/json;charset=UTF-8
Date: Fri, 14 May 2021 16:05:10 GMT
Connection: close
Server: ServiceNow
JSESSIONID=5041870726ADADFAB2EE2BF8E7E01596; Path=/; HttpOnly; SameSite=None; Secure
Set-Cookie: glide_user=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly; SameSite=None; Secure
Set-Cookie: glide_user_session=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly; SameSite=None; Secure
Set-Cookie: glide_user_route=glide.f1aa2015b3fa5fa8dfe567386cde8fd5; Max-Age=2147483647; Expires=Wed, 01-Jun-2089 19:19:17 GMT; Path=/; HttpOnly; SameSite=None; Secure
Set-Cookie: glide_session_store=AF003CB2DB8CF8103DD9C39D139619C7; Max-Age=1800; Expires=Fri, 14-May-2021 16:35:10 GMT; Path=/; HttpOnly; SameSite=None; Secure
Set-Cookie: BIGipServerpool_ddershem=2643023626.45630.0000; path=/; Httponly; Secure; SameSite=None; Secure
Strict-Transport-Security: max-age=63072000; includeSubDomains
RESTResponseV2 : getBody()
Obtient le contenu du corps de la réponse REST.
Utilisez cette fonction lorsque vous souhaitez obtenir le corps de la demande en tant que contenu texte. N’utilisez pas cette méthode lors de l’enregistrement de la réponse en tant que pièce jointe binaire. Si un objet RESTMessageV2 appelé la fonction saveResponseBodyAsAttachment(... ), l’utilisation de getBody() sur l’objet RESTResponseV2 associé provoquera une erreur. Lors de l’enregistrement de la réponse en tant que pièce jointe, si le message REST sortant échoue, appelez getErrorMessage() sur la réponse pour récupérer le contenu du corps.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Corps de réponse REST. |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var responseBody = response.getBody();
RESTResponseV2 - getCookies()
Renvoie tous les cookies inclus dans la réponse.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Tableau de chaînes représentant les cookies. Itérez à travers le tableau pour effectuer des opérations sur chaque cookie. |
Afficher les cookies individuels de la réponse.
var cookies = response.getCookies();
for (var i = 0; i < cookies.length; i++) {
gs.info('cookie: ' + cookies.get(i));
}
cookie: JSESSIONID=4135AA97A5D12DA22EF614AA2B0CAFD8.node20; Path=/; Secure; HttpOnly
cookie: SABASESSIONID=370152970.36895.0000; path=/RESTResponseV2 : getErrorCode()
Obtient le code d’erreur numérique en cas d’erreur au cours de la transaction REST.
Ce code d’erreur est spécifique au , il ne s’agit Now Platformpas d’un code d’erreur HTTP. Fournissez ce code d’erreur si vous avez besoin d’aide de l’assistance clientèle ServiceNow.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Numéro | Code d’erreur numérique, tel que 1 pour le délai d’expiration du socket. |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var errorCode = response.getErrorCode();
RESTResponseV2 : getErrorMessage()
Obtient le message d’erreur en cas d’erreur au cours de la transaction REST.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Message d'erreur. |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var errorMsg = response.getErrorMessage();
RESTResponseV2 : getHeader(nom de chaîne)
Obtient la valeur d’un en-tête spécifié.
| Nom | Type | Description |
|---|---|---|
| nom | Chaîne | Nom de l’en-tête pour lequel vous souhaitez obtenir la valeur, par exemple Set-Cookie. |
| Type | Description |
|---|---|
| Chaîne | Valeur de l’en-tête spécifié. |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var headerVal = response.getHeader("Content-Type");
RESTResponseV2 : getHeaders()
Obtient tous les en-têtes renvoyés dans la réponse REST et les valeurs associées.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Objet qui mappe le nom de chaque en-tête à la valeur associée. |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var headers = response.getHeaders();
RESTResponseV2 : getQueryString()
Obtient la requête entièrement résolue envoyée au point de terminaison REST.
Cette requête contient l’URL du point de terminaison ainsi que toutes les valeurs affectées aux variables dans le message REST. Utilisez cette méthode uniquement avec des réponses à des demandes directes. Cette méthode n’est pas prise en charge pour les demandes envoyées de manière asynchrone ou les demandes envoyées à l’aide d’un MID Server.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Requête entièrement résolue. |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var queryString = response.getQueryString();
RESTResponseV2 : getResponseAttachmentSysid()
Obtient la valeur sys_id de la pièce jointe créée à partir du contenu du corps de la réponse.
Si l’objet RESTMessageV2 associé à cette réponse appelle la fonction saveResponseBodyAsAttachment(... ), utilisez getResponseAttachmentSysid() pour obtenir la sys_id de l’enregistrement de pièce jointe créé. Utilisez cette fonction lorsque vous souhaitez effectuer des opérations supplémentaires avec le nouvel enregistrement de pièce jointe.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Sys_id du nouvel enregistrement de pièce jointe. |
RESTResponseV2 : getStatusCode()
Obtient le code d’état HTTP numérique renvoyé par le fournisseur REST.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Numéro | Code d’état numérique renvoyé par le fournisseur REST, par exemple 200 pour une réponse réussie. |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var statusCode = response.getStatusCode();
RESTResponseV2 : haveError()
Indique si une erreur s’est produite lors de la transaction REST.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| booléen | Renvoie true s’il y a eu une erreur, false s’il n’y a pas eu d’erreur. |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var error = response.haveError();
RESTResponseV2 : waitForResponse(Number timeoutSecs)
Définissez la durée pendant laquelle l’instance attend une réponse du fournisseur de services Web.
Cette méthode remplace la propriété glide.rest.outbound.ecc_response.timeout pour cette réponse REST.
| Nom | Type | Description |
|---|---|---|
| timeoutSecs (en anglais seulement) | Numéro | Durée, en secondes, d’attente de cette réponse. |
| Type | Description |
|---|---|
| nul |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.executeAsync();
response.waitForResponse(60);