2016-06-30 4 views
1

Ich versuche, eine Aktion aufzurufen, die in Watson-Systempaket (Text zu Sprache) von einer OpenWhisk-Aktion enthalten ist.OpenWhisk ruft Watson-Text-zu-Sprache-Aktion von einer Aktion auf

Ich habe den Dienst binded und Set-up die Anmeldeinformationen und so von der CLI kann ich sehen,

wsk list 
entities in namespace: xxxxxx 
packages 
/xxxxxx/myWatson       private binding 

Hier ist meine OpenWhisk Aktion:

function main(param) { 
    //code here for my action. At the end, I invoke the text to speech   

    if (...) { 
     textToSpeech(param.text); 
    } 
    else { 
     return whisk.error(error); 
    } 
    return whisk.async(); 
} 

function textToSpeech(text){ 
    whisk.invoke({ 
     name:'myWatson/textToSpeech', 
     parameters:{ 
     payload: text, 
     voice: 'en-US_MichaelVoice', 
     accept: 'audio/wav', 
     encoding: 'base64' 
     }, 
     blocking: true, 
     next: function(error, activation){ 
     if(error){ 
      return whisk.error(error); 
     } 
     else{ 
      return whisk.done({msg:'success'}); 
     } 
     } 
    }); 
} 

Und ich bekomme die folgenden Fehler

"response": { 
    "result": { 
     "error": "The requested resource does not exist. (undefined)" 
    }, 
    "status": "application error", 
    "success": false 
} 

Können Sie mir helfen zu verstehen, was ich falsch mache?

Antwort

2

Der Name der Aktion sollte vollständig qualifiziert sein, um den Namespace einzubeziehen. Von Ihrer CLI-Ausgabe sieht es so aus, als wäre Ihr Paket /xxxxxx/myWatson, daher sollte Ihre Aktionsreferenz in whisk.invoke/xxxxxx/myWatson/textToSpeech lauten.

Verwandte Themen