2016-11-23 8 views
0

Ich muss die Benutzereingabe an einen externen Webdienst weiterleiten und Watson die Antwort von diesem Dienst geben.Externer REST-Web-Service von Conversation API aufrufen

Ich habe den Beispielcode von https://github.com/watson-developer-cloud/conversation-simple geschoben und den Node-Rest-Client von https://www.npmjs.com/package/node-rest-client hinzugefügt. Ich habe den entsprechenden Dienst erstellt und gebunden, damit die Chat-Anwendung ordnungsgemäß funktioniert.

Wenn ich den Code jedoch hinzufügen

client.get("https://<my domain>.eu-gb.mybluemix.net/api/service/" + payload.input.text, function(data, response)) { 
     payload.input.text = data.message; 
    } 

die Anwendung nicht gestartet und ich die Fehler werden kann erhalten, dass der Einsatz an Aufenthaltsorten versagt hat.

Antwort

0

Haben Sie den Teil <my-domain> des Anforderungsstrings aktualisiert?

Sind Sie auch sicher, dass der Rückruf korrekt ist? Normalerweise akzeptieren Knotenrückrufe einen Fehler als ihren ersten Parameter und übergeben ihre Daten später Parameter.

Sie könnten versuchen, cf logs auszuführen oder zu Ihrem bluemix Portal gehen und die ausführlicheren Protokolle erhalten. Sie enthalten wahrscheinlich die fehlgeschlagene Zeile mit einer ausführlicheren Ausnahme.

Ein weiteres Problem könnte sein, dass Sie scheinbar eine globale Variable innerhalb eines asynchronen Callbacks aktualisieren. Das ist keine gute Idee! Stellen Sie sicher, dass Sie async verstehen. Ich würde empfehlen https://nodeschool.io/

Staging-Fehler werden manchmal auch durch Nichtaktualisierung Ihrer Abhängigkeiten auftreten. Stellen Sie sicher, mit npm install --save zu installieren, so dass Ihre package.json

aktualisiert wird

wäre gut, wenn Sie könnten Setup ein Repo mit dem komplette Code, den Sie gerade arbeiten. Das macht es für uns einfacher zu debuggen

Verwandte Themen