2015-10-13 4 views
1

я пытался интегрировать Proton с Орионом, но когда Orion отправляет события Proton, я всегда получаю ту же ошибку:СЕР Proton Ключ не был на карте, причина: ключ не был на карте

com.ibm.hrl.proton.webapp.providers.EventJSONMessageReader readFrom SEVERE: не удалось проанализировать событие json org.apache.wink.json4j.JSONException: Ключ [Name] не был на карте, причина: Ключ [Name ] не было на карте

Я просмотрел имена атрибутов, и они в порядке.

Смотрите ниже attrNames увиденного Cygnus (интегрированное с Orion)

| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | Altitude | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | AltitudeDelta1 | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | AltitudeDelta2 | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | BatteryLevel | integer | 25 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | CO | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | COCal | float | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | CurrentRSSI | integer | -110 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | LastPacketRSSI | integer | -40 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | LastPacketSNR | integer | 8 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | Latitude | float | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | LatitudeDelta1 | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | LatitudeDelta2 | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | Longitude | float | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | LongitudeDelta1 | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | LongitudeDelta2 | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | NO | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | NO2 | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | NO2Cal | float | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | NOCal | float | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | Ozone | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | OzoneCal | float | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | Serial | float | 25 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | Speed | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | SpeedDelta1 | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | SpeedDelta2 | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | humidity | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | humidityCal | float | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | pressure | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | pressureCal | float | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | temperature | integer | 33 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | temperatureCal | float | 23 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | timestamp | integer | 140021212 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | timestampDelta | integer | 720 | [] | 
| 1444683578 | 2015-10-12T20:59:38.352 | sensor4 | STCSensor | timestampDelta2 | integer | 23 | [] | 
+------------+-------------------------+----------+------------+------------------+----------+-----------+--------+ 

Я также прикрепить часть проекта JSON на экспорте.

{"epn":{"events":[{"name":"STCSensor","createdDate":"Mon Oct 12 2015","attributes":[ 
{"name":"entityType","type":"String","dimension":0}, 
{"name":"Serial","type":"Double","dimension":0}, 
{"name":"BatteryLevel","type":"Integer","dimension":0}, 
{"name":"CurrentRSSI","type":"Integer","dimension":0}, 
{"name":"LastPacketRSSI","type":"Integer","dimension":0}, 
{"name":"LastPacketSNR","type":"Integer","dimension":0}, 
{"name":"timestamp","type":"Integer","dimension":0}, 
{"name":"timestampDelta","type":"Integer","dimension":0}, 
{"name":"timestampDelta2","type":"Integer","dimension":0}, 
{"name":"Latitude","type":"Double","dimension":0}, 
{"name":"Longitude","type":"Double","dimension":0}, 
{"name":"Altitude","type":"Integer","dimension":0}, 
{"name":"Speed","type":"Integer","dimension":0}, 
{"name":"LatitudeDelta1","type":"Integer","dimension":0}, 
{"name":"LongitudeDelta1","type":"Integer","dimension":0}, 
{"name":"AltitudeDelta1","type":"Integer","dimension":0}, 
{"name":"SpeedDelta1","type":"Integer","dimension":0}, 
{"name":"LatitudeDelta2","type":"Integer","dimension":0}, 
{"name":"LongitudeDelta2","type":"Integer","dimension":0}, 
{"name":"AltitudeDelta2","type":"Integer","dimension":0}, 
{"name":"SpeedDelta2","type":"Integer","dimension":0}, 
{"name":"temperature","type":"Integer","dimension":0}, 
{"name":"pressure","type":"Integer","dimension":0}, 
{"name":"humidity","type":"Integer","dimension":0}, 
{"name":"temperatureCal","type":"Double","dimension":0}, 
{"name":"pressureCal","type":"Double","dimension":0}, 
{"name":"humidityCal","type":"Double","dimension":0}, 
{"name":"CO","type":"Integer","dimension":0}, 
{"name":"NO","type":"Integer","dimension":0}, 
{"name":"NO2","type":"Integer","dimension":0}, 
{"name":"Ozone","type":"Integer","dimension":0}, 
{"name":"COCal","type":"Double","dimension":0}, 
{"name":"NOCal","type":"Double","dimension":0}, 
{"name":"NO2Cal","type":"Double","dimension":0}, 
{"name":"OzoneCal","type":"Double","dimension":0}, 
{"name":"entityId","type":"Integer","dimension":"0"}]}, 

Не могли бы вы помочь мне?

Спасибо заранее

ответ

1

Интеграция между КЭП проактивной технологии онлайн (Протон) и Orion использует формат XML (не JSON).

Пост от Orion должен включать

Content-Type: application/xml 

аппендикс в СЕР проактивной технологии Интернет-х user guide описывает, как интегрировать между Orion и Proton.

Пожалуйста, обратите внимание, что определение события СЕР должны иметь некоторые атрибуты, и имя входных СЕР события должно быть [тип объекта] ContextUpdate, как описано в приложении приведены user guide «s

Убедитесь экспортировать ваши обновленный определение и остановка & запустите CEP, чтобы запустить его с обновленным определением

+0

Спасибо .Using xml Я получаю этот EVERE: не удалось разобрать XML NGSI событие java.lang.NullPointerException, reason: null имя последнего атрибута: null последнее значение: null 13 октября 2015 г. 8:11:35 com.ibm.hrl. proton.webapp.providers.EventXmlNgsiMessageReader readFrom INFO: обработчик сообщения о завершенном событии 13 октября 2015 г. 8:11:35 com.ibm.hrl.proton.webapp.resources.EventResource submitNewEvent INFO: начало отправкиNewEvent 13 октября 2015 г. 8:11:35 com.ibm.hrl.proton.webapp.resources.EventResource submitNewEvent SEVERE: Не удалось отправить событие, причина: java.lang.NullPointerException, message: null – jht

+0

Пожалуйста, внимательно прочитайте руководство пользователя. Чтобы узнать, какое должно быть имя входного события CEP, и какие атрибуты должны иметь для анализа сообщения Orion для ввода события. Кажется, что либо имя события неверно, либо отсутствует один атрибут. –

+0

Я уже делал это, но безуспешно. Я оставил только один атрибут timestamp и, согласно руководству пользователя, я добавил entityType и entityId. Итак, есть только три атрибута. : {"events": [{"name": "STCSensor", "createdDate": "Mon Oct 12 2015", "attributes": [{"name": "entityType", "type": "String", " измерение ": 0}, {" имя ":" метка», "тип": "Integer", "измерение": 0}, { "имя": "EntityId", "тип": "Строка", "измерение" : «0»}]}, Не могли бы вы рассказать мне, является ли имя события неправильным или что-то мне не хватает? – jht

0

Я столкнулся с той же проблемой с экземпляром Docker. Несмотря на определение событий уважает правила, изображенные в Приложении А Руководства пользователя, журнал непрерывно сообщает:

INFO: started event message body reader 
Oct 26, 2015 1:25:36 PM com.ibm.hrl.proton.webapp.providers.EventXmlNgsiMessageReader readFrom 
SEVERE: Could not parse XML NGSI event java.lang.NullPointerException, reason: null 
last attribute name: null last value: null 
Oct 26, 2015 1:25:36 PM com.ibm.hrl.proton.webapp.providers.EventXmlNgsiMessageReader readFrom 
INFO: finished event message body reader 
Oct 26, 2015 1:25:36 PM com.ibm.hrl.proton.webapp.resources.EventResource submitNewEvent 
INFO: starting submitNewEvent 
Oct 26, 2015 1:25:36 PM com.ibm.hrl.proton.webapp.resources.EventResource submitNewEvent 
SEVERE: Could not send event, reason: java.lang.NullPointerException, message: null 

Я decied попробовать с .WAR файлов в папке артефактов (Редактирование Dockerfile), вместо из тех, которые используются в файле Dockerfile (исходный). Теперь все работает, без изменения определения события.

Сравнивая файл журналов, я заметил, что следующие части отсутствуют в catalina.out оригинального Докер Например:

com.ibm.hrl.proton.server.executor.PropertiesParser loadProperties 
INFO: Properties are : 
metadatFile =/tmp/defs/DoSAttack.json 
inputPortNumber =3002 
outputPortNumber =3302 

Здесь изменения в Dockerfile:

#WORKDIR /root/Proton/mvn-repo/com/ibm/hrl/proton/AuthoringTool/0.0.1 
#RUN cp *war /var/lib/tomcat7/webapps/AuthoringTool.war 
#WORKDIR /root/Proton/mvn-repo/com/ibm/hrl/proton/AuthoringToolWebServer/0.0.1 
#RUN cp *war /var/lib/tomcat7/webapps/AuthoringToolWebServer.war 
#WORKDIR /root/Proton/mvn-repo/com/ibm/hrl/proton/ProtonOnWebServer/0.0.1 
#RUN cp *war /var/lib/tomcat7/webapps/ProtonOnWebServer.war 
#WORKDIR /root/Proton/mvn-repo/com/ibm/hrl/proton/ProtonOnWebServerAdmin/0.0.1 
#RUN cp *war /var/lib/tomcat7/webapps/ProtonOnWebServerAdmin.war 
WORKDIR /root/Proton/artifacts 
RUN cp AuthoringTool.war /var/lib/tomcat7/webapps/AuthoringTool.war 
RUN cp AuthoringToolWebServer.war /var/lib/tomcat7/webapps/AuthoringToolWebServer.war 
RUN cp ProtonOnWebServer.war /var/lib/tomcat7/webapps/ProtonOnWebServer.war 
RUN cp ProtonOnWebServerAdmin.war /var/lib/tomcat7/webapps/ProtonOnWebServerAdmin.war 
Смежные вопросы