ANS-1466 · SERVICES WEB ET INTéGRATIONS

Comment résoudre le message « Tentative de connexion non valide » pour les services Web TBA de l’environnement Sandbox NetSuite ?

Lorsque vous vous connectez à un environnement de test NetSuite via des services Web à l'aide de l'authentification par jeton, assurez-vous que l'identifiant du compte (realm) est correctement formaté afin d'éviter tout échec de connexion.

Solution courte

L'erreur « Tentative de connexion non valide » qui survient lors de la connexion à un environnement sandbox NetSuite via des services Web avec TBA est souvent due à un format d'identifiant de compte incorrect. Pour les comptes sandbox, le domaine doit être `{accountId}_SB#` et est sensible à la casse. La correction de ce format spécifique dans le fichier XML tokenPassport permet généralement de résoudre le problème de « signature non valide ».

Scénario

Les utilisateurs qui tentent de se connecter à un compte sandbox NetSuite via des services Web à l’aide de l’authentification par jeton (TBA) rencontrent une erreur « tentative de connexion non valide ». La piste d’audit de connexion indique « Signature non valide », même lorsque tous les autres paramètres d’authentification, tels que les jetons, les clés secrètes, l’horodatage, le nonce et l’algorithme de signature, semblent corrects.

Solution

L'erreur « Tentative de connexion non valide », en particulier lorsqu'elle s'accompagne d'une mention « Signature non valide » dans la piste d'audit des connexions, indique souvent un format d'identifiant de compte (realm) incorrect pour les connexions au compte sandbox.Lors de la connexion à un compte sandbox NetSuite via des services Web, l’identifiant de compte (realm) doit respecter un format spécifique, sensible à la casse :

{accountId}_SB#

Par exemple : 1234567_SB1

La structure XML tokenPassport doit refléter ce format, comme indiqué ci-dessous :

xml
<tokenPassport xsi:type="platformCore:TokenPassport">
            <account xsi:type="xsd:string">1234567_SB1</account>
            <consumerKey xsi:type="xsd:string">****************************************************************</consumerKey>
            <token xsi:type="xsd:string">****************************************************************</token>
            <nonce xsi:type="xsd:string">MTU1ODcxNDQ3Mw</nonce>
            <timestamp xsi:type="xsd:long">1558714473</timestamp>
            <signature xsi:type="platformCore:TokenPassportSignature" algorithm="HMAC_SHA256">********************************************</signature>
</tokenPassport>

Il est important de noter que l’identifiant de compte renvoyé par runtime.accountId et celui figurant dans l’URL utilisent un format différent : {accountId}-sb#.

Support expert NetSuite

Besoin d’aide pour cet enjeu NetSuite ?

Accompagnement-conseil et configuration pour Services Web et intégrations

Parler à un consultant