RESTResponseV2 : dans le champ d’application, global
L’API RESTResponseV2 fournit des méthodes qui vous permettent d’utiliser les données renvoyées par un message REST sortant dans le code JavaScript.
Un objet RESTResponseV2 est renvoyé par les méthodes RESTMessageV2execute() et executeAsync().
Vous pouvez utiliser cette API dans des 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 |
|---|---|
| Liste <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 suivant 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 comme contenu de 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 appelle 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, en cas d’échec du message REST sortant, appelez getErrorMessage() sur la réponse pour récupérer le contenu du corps.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Corps de la 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 dans le tableau pour effectuer des opérations sur chaque cookie. |
Affichez 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 pendant la transaction REST.
Ce code d’erreur est spécifique au , il ne s’agit pas d’un ServiceNow AI Platform 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, par exemple 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 lors 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 voulez 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 pour les réponses aux demandes directes. Cette méthode n’est pas prise en charge pour les demandes envoyées de façon asynchrone ou les demandes envoyées à l’aide d’un Serveur MID.
| 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 a appelé 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 retourné 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 la valeur vrai s’il y a eu une erreur, faux 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 le délai pendant lequel l’instance attend une réponse du fournisseur de service Web.
Cette méthode remplace la propriété glide.rest.outbound.ecc_response.timeout de cette réponse REST.
| Nom | Type | Description |
|---|---|---|
| timeoutSecs | 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);