Fiware CEP质子钥匙不在地图中,原因:钥匙不在地图中

Fiware CEP质子钥匙不在地图中,原因:钥匙不在地图中,fiware,complex-event-processing,Fiware,Complex Event Processing,我曾试图将质子与猎户座集成,但当猎户座向质子发送事件时,我总是得到相同的错误: com.ibm.hrl.proton.webapp.providers.EventJSONMessageReader readFrom 严重:无法解析json事件org.apache.wink.json4j.JSONException:键[Name]不在映射中,原因:键[Name]不在映射中 我已经检查了属性名称,它们是确定的 下面是天鹅座(已与猎户座集成)看到的属性名 我还附加了导出的json项目的一部分 {"ep

我曾试图将质子与猎户座集成,但当猎户座向质子发送事件时,我总是得到相同的错误:

com.ibm.hrl.proton.webapp.providers.EventJSONMessageReader readFrom 严重:无法解析json事件org.apache.wink.json4j.JSONException:键[Name]不在映射中,原因:键[Name]不在映射中

我已经检查了属性名称,它们是确定的

下面是天鹅座(已与猎户座集成)看到的属性名

我还附加了导出的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"}]},
你能帮帮我吗


提前感谢

CEP Proactive Technology Online(质子)和Orion之间的集成使用xml格式(而不是json)

猎户座的帖子需要包括

Content-Type: application/xml
CEP Proactive Technology Online的附录描述了如何在Orion和Proton之间进行集成

请注意,CEP事件定义必须具有某些属性,CEP输入事件的名称必须为[entity type]ContextUpdate,如附录中所述


请确保导出更新的定义,并停止和启动CEP,以使其与更新的定义一起运行

我与Docker实例在同一问题中运行过。 尽管事件定义遵守《用户指南》附录A中描述的规则,但日志持续报告:

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
我决定尝试使用artifacts文件夹中的.war文件(编辑Dockerfile),而不是Dockerfile中使用的文件(原始文件)。现在一切都正常了,没有更改事件定义

通过比较日志文件,我注意到原始Docker实例的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

谢谢。使用xml我得到了以下结果:无法解析xml NGSI事件java.lang.NullPointerException,原因:null last属性名称:null last值:null Oct 13,2015 8:11:35 AM com.ibm.hrl.proton.webapp.providers.EventXmlNgsiMessageReader readFrom信息:已完成事件消息正文阅读器10月13日,2015年10月13日上午8:11:35 com.ibm.hrl.proton.webapp.resources.EventResource submitNewEvent信息:正在启动submitNewEvent 2015年10月13日上午8:11:35 com.ibm.hrl.proton.webapp.resources.EventResource submitNewEvent严重:无法发送事件,原因:java.lang.NullPointerException,消息:null请仔细阅读用户指南附录。要查看CEP输入事件的名称需要是什么,以及必须具有哪些属性,才能将Orion消息解析为输入事件。似乎事件的名称不正确,或者缺少一个属性。我已经这样做了,但没有成功。我只留下了一个属性时间戳,根据用户指南,我添加了entityType和entityId。因此,只有三个心房肌:{“事件”:[{“名称”:“STCSensor”,“createdDate”:“2015年10月12日星期一”,“属性”:[{“名称”:“entityType”,“类型”:“字符串”,“维度”:0},{“名称”:“时间戳”,“类型”:“整数”,“维度”:0},{“名称”:“entityId”,“类型”:“字符串”,“维度”:“0”},你能告诉我事件的名称是否不正确或者我遗漏了什么吗?CEP中事件的名称应该是:ContextUpdate,如果你在Orion中的实体类型是STCSensor,那么CEP事件的名称应该是STCSensorContextUpdate我也这么做了。{“名称”:“STCSensorContextUpdate”,“createdDate”:“2015年10月13日星期二”,“属性”:[{“名称”:“entityType”,“type”:“String”,“dimension”:0},{“name”:“entityId”,“type”:“String”,“dimension”:0},{“name”:“timestamp”,“type”:“Integer”,“dimension”:0}],但结果相同。谢谢
#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