2016-05-15 2 views
1

Я только что получил эту ошибку. Сегодня все было хорошо.Ошибка хаба уведомлений Windows Azure

Ошибка: 400 - Ошибка api-версии запроса, поскольку центр уведомлений был создан в старой версии. Повторно создайте концентратор уведомлений.

TrackingId: aaed084f-8c8a-49f1-8246-122763437b63_G7, TimeStamp: 5/15/2016 3:56:13 AM»

В моей node.js таблице сценария я подключаю к ступице, так как:

var azure = require('azure'); 

var hub = azure.createNotificationHubService('hubName','connectionString'); 

И посылая так:..

hub.wns.sendRaw(['public'], JSON.stringify(item), function(error){ 
    if(!error) 
     console.log("total refresh " + JSON.stringify(item)); 
    else 
     console.log("error sending total refresh " + JSON.stringify(error)); 
}); 

отклик ошибка продолжает стрелять, я попытался воссоздать ступицу уведомление, но все еще получаю ту же ошибку

Кто-нибудь знает почему? Обновили ли Microsoft свои системы? Нужно ли включать обновление для моего приложения для хранения приложений javascript?

Thankyou

ответ

1

Проблема заключается в том, что nodejs SDK не устанавливает Апи-версию на всех :) Вы можете временно исправить это, комментируя эти строки в лазури-SB модуль (или исправить ее в лучшую сторону как-то):

лазурь-сб/Библиотека/servicebusserviceclient.js @ линия 67:

// Set API version 
// if (webResource.queryString[Constants.ServiceBusConstants.API_VERSION_QUERY_KEY] === undefined) { 
     webResource.withQueryOption(Constants.ServiceBusConstants.API_VERSION_QUERY_KEY, Constants.ServiceBusConstants.CURRENT_API_VERSION); 
// } else if (webResource.queryString[Constants.ServiceBusConstants.API_VERSION_QUERY_KEY] === null) { 
// delete webResource.queryString[Constants.ServiceBusConstants.API_VERSION_QUERY_KEY]; 
// } 

Во всяком случае, в ожидании Microsoft, чтобы исправить эту тупую ошибку ...

+0

Спасибо за это Питер! Для тех, у кого есть мобильные службы (не приложение), вы можете попасть в этот файл, загрузив в свой браузер https: // [MobileServiceName] .scm.azure-mobile.net/DebugConsole. Это админ-интерфейс Kudu для вашего мобильного сервиса. Перейдите к D: \ home \ site \ wwwroot \ node_modules \ azure \ node_modules \ azure-sb \ lib, щелкнув по одному каталогу за раз над консольным окном. Затем нажмите значок карандаша рядом с servicebusserviceclient.js. Прокомментируйте блок if, оставив строку, описанную Питером. Затем сохраните файл и перезапустите службу мобильной связи. –

0

Yah, спасибо @Peter. Я создал временный модуль в корневой папке «azure-sb-temp», импортированный вместо «azure» в моей службе уведомлений, установленных пакетов «azure-common» и «underscore». Последнее: комментарий @ line 69, 71, 72, 73 at /azure-sb-temp/lib/servicebusserviceclient.js

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