Bonjour, j'ai un problème avec un appel et j'aurais besoin d'aide.
Lorsque j'appelle une API avec la méthode SendFormDataArray de l'adaptateur EnsLib.HTTP.OutboundAdapter, je lui passe un objet %Net.HttpRequest et je reçois l'erreur suivante :
ERROR #5002: ObjectScript error: <SUBSCRIPT>MatchSuffix+1^%Net.HttpRequest.1 ^%qPublicSuffix("")
J'ai correctement saisi l'url dans mon business operation et je la passe dans le dernier paramètre de la méthode SendFormDataArray. Avez-vous une idée, s'il vous plaît ?
Method XRPUAuthentification(pInput As ANCV.msg.BO.XRPUAuthentificationDmde, Output pOutput As ANCV.msg.BO.XRPUAuthentificationRpse) As %String
{
Set pOutput = ##class(ANCV.msg.BO.XRPUAuthentificationRpse).%New()
Try{
Set httpRequest = ##class(%Net.HttpRequest).%New()
Set utilisateur = ##class(ANCV.WebObjet.wsXRPUUtilisateur).%New()
Set utilisateur.login = ..RecupererLogin()
Set utilisateur.password = ..RecupererMdp()
Do httpRequest.SetHeader("Content-Type", "application/json")
Set tSC = ..ObjectToJSONStream(utilisateur, .entityBody)
$$$ThrowDecomposeIfError(tSC, "Impossible de transformer le message", $$$ErreurRecuperationToken)
Set httpRequest.EntityBody = entityBody
set tSC = ..Adapter.SendFormDataArray(.response, "POST",httpRequest,,,..Adapter.URL_"/security/authentication")
$$$ThrowDecomposeIfError(tSC, "Impossible d'appeler l'api", $$$ErreurRecuperationToken)
set tSC = ..JSONStreamToObject(response.Data, .pOutput, "ANCV.msg.BO.XRPUAuthentificationRpse", 1)
$$$ThrowDecomposeIfError(tSC, "Impossible de récupérer le token", $$$ErreurRecuperationToken)
set pOutput.codeRetour = "OK"
} Catch Exception {
Set pOutput.codeRetour = "KO"
Set pOutput.libErreur = Exception.DisplayString()
Set pOutput.codeErreur = Exception.Code
}
Quit $$$OK
}
Method RecupererLogin() As %String
{
Quit ##class(Ens.Config.Credentials).GetValue(..Adapter.Credentials, "Username")
}
Method RecupererMdp() As %String
{
Quit ##class(Ens.Config.Credentials).GetValue(..Adapter.Credentials, "Password")
}