2015-05-19 1 views
1

Я отправляю запрос на отправку REST в Proton CEP из Контекстного брокера (оба в локальном хосте), но когда он получает событие, он не может прочитать xml. Это журнал Catalina:Исключение Null Pointer на событии CEP

may 20, 2015 9:38:52 AM com.ibm.hrl.proton.webapp.providers.EventXmlNgsiMessageReader readFrom 
INFORMACIÓN: started event message body reader 
may 20, 2015 9:38:52 AM com.ibm.hrl.proton.webapp.providers.EventXmlNgsiMessageReader readFrom 
INFORMACIÓN: Event: TripContextUpdate 
may 20, 2015 9:38:52 AM com.ibm.hrl.proton.webapp.providers.EventXmlNgsiMessageReader readFrom 
GRAVE: Could not parse XML NGSI event java.lang.NullPointerException, reason: null 
last attribute name: null last value: null 
may 20, 2015 9:38:52 AM com.ibm.hrl.proton.webapp.providers.EventXmlNgsiMessageReader readFrom 
INFORMACIÓN: finished event message body reader 
may 20, 2015 9:38:52 AM com.ibm.hrl.proton.webapp.resources.EventResource submitNewEvent 
INFORMACIÓN: starting submitNewEvent 
may 20, 2015 9:38:52 AM com.ibm.hrl.proton.webapp.resources.EventResource submitNewEvent 
GRAVE: Could not send event, reason: java.lang.NullPointerException, message: null 

Когда я посылаю его REST пост в формате JSON ответ является:

may 20, 2015 10:23:57 AM com.ibm.hrl.proton.webapp.providers.EventJSONMessageReader readFrom 
INFORMACIÓN: started event message body reader 
may 20, 2015 10:23:57 AM com.ibm.hrl.proton.webapp.providers.EventJSONMessageReader readFrom 
GRAVE: Could not parse json event org.apache.wink.json4j.JSONException: The key [Name] was not in the map, reason: The key [Name] was not in the map 

ответ

2

Я надеюсь, что вы решили эту проблему, но так как у меня были подобные проблемы , Я напишу свой случай:

Вторая ошибка означает, что либо вы не отправляете полезную нагрузку с POST, либо вы не включаете определенное событие Name. Из docs для JSON полезной нагрузки должно быть что-то вроде

{"Name":"TrafficReport", "volume":"1000"}

Для меня, однако, это не сработало, и я получил ошибку, подобную твоей для NGSI XML Could not parse json event java.lang.NullPointerException, reason: null.

Чем я начал отладки запущенный экземпляр, к которому я отправлял: GET: localhost:8080/ProtonOnWebServerAdmin/resources/instances/ProtonOnWebServer GET: localhost:8080/ProtonOnWebServerAdmin/resources/definitions

... и оказалось, что я экспортировали приложение из Authoring Tool, который имел пробелы и точки в имени, так и имя URL-адрес не указан: [{name: "/opt/repositories/tomcat10/ReactiFI v0.1.json", url: "/ProtonOnWebServerAdmin/resources/definitions/ReactiFI v0"}]

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

Я не рекомендую никаких точек, пробелов или специальных символов в именах определений :).

Надеюсь, это поможет!

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