2015-04-09 2 views
1

Похоже, что сервис моделирования пользователя Watson был удален из моего приложения. Я получаю следующее сообщение об ошибке в моем приложении.Watson сервис Моделирование пользователя возвращает ошибку «Не удается прочитать свойство„0“неопределенных при чтении из VCAP_SERVICES

2015-04-09T15:23:38.44-0400 [App/0] ERR /home/vcap/app/lib/config.js:33 
2015-04-09T15:23:38.44-0400 [App/0] ERR     return vcapServices["user_modeling"][0].credentials.url; 
2015-04-09T15:23:38.44-0400 [App/0] ERR             ^
2015-04-09T15:23:38.44-0400 [App/0] ERR TypeError: Cannot read property '0' of undefined 
2015-04-09T15:23:38.44-0400 [App/0] ERR  at Object.watsonUrl (/home/vcap/app/lib/config.js:33:53) 
2015-04-09T15:23:38.44-0400 [App/0] ERR  at getPersonality (/home/vcap/app/lib/app.js:203:25) 
2015-04-09T15:23:38.44-0400 [App/0] ERR  at async.waterfall.personalityUser1 (/home/vcap/app/lib/app.js:278:13) 
2015-04-09T15:23:38.44-0400 [App/0] ERR  at fn (/home/vcap/app/node_modules/async/lib/async.js:641:34) 
2015-04-09T15:23:38.44-0400 [App/0] ERR  at Object._onImmediate (/home/vcap/app/node_modules/async/lib/async.js:557:34) 
2015-04-09T15:23:38.44-0400 [App/0] ERR  at processImmediate [as _immediateCallback] (timers.js:345:15) 

Что произошло и что мне нужно сделать, чтобы исправить это?

ответ

3

моделирования пользователя сервис был недавно переименован. Теперь Личность Insights. Я это исправил, добавив новую услугу личности Insights моего приложения и обновление мой код для чтения VCAP_SERVICES.

Вместо следующего:

var VCAP_SERVICES = process.env["VCAP_SERVICES"], 
    vcapServices; 

if (VCAP_SERVICES) { 
    vcapServices = JSON.parse(VCAP_SERVICES); 
} 

return vcapServices["user_modeling"][0].credentials.url; 

Сделайте следующее вместо этого. Обратите внимание, что user_modeling связан с личностью.

var VCAP_SERVICES = process.env["VCAP_SERVICES"], 
    vcapServices; 

if (VCAP_SERVICES) { 
    vcapServices = JSON.parse(VCAP_SERVICES); 
} 

return vcapServices["personality_insights"][0].credentials.url; 

Дополнительно API немного изменился ... URL-адрес теперь URL вы получаете от VCAP_SERVICES + /v2/profile. Это было VCAP_SERVICES + /api/v2/profile

Более точно vcapServices["personality_insights"][0].credentials.url + "/v2/profile".

Смежные вопросы