I created a very simple cloud function in IBM, that I try to call via Watson assistant. When I call it the error "Direct CloudFunctions call was not successful. Http response code is [401]" appears.
Underneath is the code I am using. "prodname" is taken from the user and sent to the function to get an answer. The function is working fine when I invoke it. I get the ID and password from https://cloud.ibm.com/openwhisk/learn/api-key.
{
"context": {
"credentials": {
"user": "userID",
"password": "password"
}
},
"output": {
"text": {
"values": [
"$answer"
]
}
},
"actions": [
{
"name": "arllambi%2540gmail.com_Only/Watson/MovieBot",
"type": "cloud_function",
"parameters": {
"prodname": "$prodname"
},
"result_variable": "answer",
"credentials": "$credentials"
}
]
}
Is it possible that there is some problem with the credentials?
Thanks in advance for any help.
****** reEDIT ******
As suggested by data_henrik I provide futher info. The function I am calling is the following, a very simple echo function:
function main(msg){
return {answer: "You said " +msg.prodname};
}
I changed the cloud_function to web_action, web_action works fine via postman:
{
"output": {
"text": {
"values": [
"$answer"
]
}
},
"actions": [
{
"name": "[email protected]_Only/Watson/MovieBot.json",
"type": "web_action",
"parameters": {
"prodname": "<?input.text?>"
},
"result_variable": "context.answer"
}
]
}
The message I get now is "Direct CloudFunctions call was not successful. Http response code is [404]". Also the assistant answers "with {"cloud_functions_call_error":"The requested resource does not exist."}
Adrià