After debugging chatbot and setting site properties as per V2 lex bot created in Aws it shows
Invalid region us-east-1
stack trace on service center error logs
at ssCloneOfAmazonLex_IS.RssExtensionAmazonLex_ext.MssAWSLex_RecognizeText(HeContext heContext, IRecord inParamAuthenticationInfo, String inParamRequest, String& outParamResponse) at ssCloneOfAmazonLex_IS.Actions.ActionRecognizeText(HeContext heContext, STAWSCredentialsStructure inParamAWSCredentials, STRequest_RecognizeTextStructure inParamRequest, STResponse_RecognizeTextStructure& outParamResponse) at ssMultilingualChatbot.RsseSpaceCloneOfAmazonLex_IS.MssRecognizeText(HeContext heContext, IRecord inParamAWSCredentials, IRecord inParamRequest, IRecord& outParamResponse) at ssMultilingualChatbot.Actions.ActionRecognizeText(HeContext heContext, STAWSCredentialsStructure inParamAWSCredentials, STRequest_RecognizeTextStructure inParamRequest, STResponse_RecognizeTextStructure& outParamResponse) at ssMultilingualChatbot.Actions.ActionAWSInteraction(HeContext heContext, String inParamMessage, String inParamUserId, Boolean& outParamIsFulfilled, Boolean& outParamSuccess, String& outParamFulfill_ErrorMessage, String& outParamBotMessage)
Hi Saish,
To resolve this issue, you need to update the region format in your OutSystems application to match the AWS SDK's expected format.OutSystems
For the "US East (N. Virginia)" region, the correct format is USEast1 (note the case and absence of dashes).
https://docs.aws.amazon.com/en_gb/general/latest/gr/lex.html
By updating the region format to match AWS's expected format, your application should be able to connect to the Amazon Lex service without encountering the "Invalid region" error.
Hi @JR. thanks a lot this fixed the issue. I ran the debugger again and it mentions
The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details. at ssCloneOfAmazonLex_IS.RssExtensionAmazonLex_ext.MssAWSLex_RecognizeText(HeContext heContext, IRecord inParamAuthenticationInfo, String inParamRequest, String& outParamResponse) at ssCloneOfAmazonLex_IS.Actions.ActionRecognizeText(HeContext heContext, STAWSCredentialsStructure inParamAWSCredentials, STRequest_RecognizeTextStructure inParamRequest, STResponse_RecognizeTextStructure& outParamResponse) at ssMultilingualChatbot.RsseSpaceCloneOfAmazonLex_IS.MssRecognizeText(HeContext heContext, IRecord inParamAWSCredentials, IRecord inParamRequest, IRecord& outParamResponse) at ssMultilingualChatbot.Actions.ActionRecognizeText(HeContext heContext, STAWSCredentialsStructure inParamAWSCredentials, STRequest_RecognizeTextStructure inParamRequest, STResponse_RecognizeTextStructure& outParamResponse) at ssMultilingualChatbot.Actions.ActionAWSInteraction(HeContext heContext, String inParamMessage, String inParamUserId, Boolean& outParamIsFulfilled, Boolean& outParamSuccess, String& outParamFulfill_ErrorMessage, String& outParamBotMessage)[2] The remote server returned an error: (403) Forbidden. at Amazon.Runtime.Internal.HttpRequest.GetResponse() at Amazon.Runtime.Internal.HttpHandler`1.InvokeSync(IExecutionContext executionContext) at Amazon.Runtime.Internal.Unmarshaller.InvokeSync(IExecutionContext executionContext) at Amazon.Runtime.Internal.ErrorHandler.InvokeSync(IExecutionContext executionContext)[3] The remote server returned an error: (403) Forbidden. at System.Net.HttpWebRequest.GetResponse() at Amazon.Runtime.Internal.HttpRequest.GetResponse()
I have double checked that the Access_key and secret key and matches the one which is configured in the site properties would there be any specific issue?