2017-05-29 94 views
0

我已經下載了WSO2 IOT Server 3.0.0並通過以下步驟在wso2文檔中安裝了該產品。我使用Ubuntu 14.04 LTS。wso2 iot分析地理圍欄錯誤

https://docs.wso2.com/display/IoTS300/Installing+on+Linux+or+OS+X

然後,我在給定的順序開始經紀人,核心和分析服務器。我沒有做任何額外的配置遵循以下鏈接:

https://docs.wso2.com/display/IoTS300/Running+the+Product#RunningtheProduct-StartingtheServer

我通過運行mobile-qsg.sh腳本創建樣本用戶和用戶角色。

我用Android(6.0.1)設備(Samsung SM-G900FQ)成功註冊到了wso2 iot服務器。我使用了具有iotMobileUser角色的alex的帳戶。我可以在devicemgt控制檯上看到我的設備信息。爲了添加地理圍欄規則,我打開了在https // localhost:9445/portal/dashboards/geo-dashboard /上運行的地理信息中心,並使用管理員帳戶進行了身份驗證並能夠登錄。

當我通過devicemgt api向我的設備發送一個位置請求時,它會拋出EventConversionException。

[2017-05-28 13:03:46,391] [IoT-Analytics] INFO {org.wso2.carbon.dashboard.deployment.DashboardDeployer} - Gadget directory [geo-dashboard] has been copied to path /home/dozc/wso2iot-3.0.0/analytics/repository/deployment/server/jaggeryapps/portal/store/carbon.super/fs/gadget/geo-dashboard 
[2017-05-28 13:03:46,427] [IoT-Analytics] INFO {org.wso2.carbon.dashboard.deployment.DashboardDeployer} - Dashboard definition [geo-dashboard] has been created. 
[2017-05-28 13:03:46,428] [IoT-Analytics] ERROR {org.wso2.carbon.dashboard.deployment.DashboardDeployer} - A theme already exists with the name geo-dashboard 
[2017-05-28 13:03:46,442] [IoT-Analytics] INFO {org.wso2.carbon.application.deployer.internal.ApplicationManager} - Successfully Deployed Carbon Application : org.wso2.carbon.iot.geo.dashboard_1.0.0 {super-tenant} 
[2017-05-28 13:03:46,751] [IoT-Analytics] INFO {org.wso2.carbon.ntask.core.impl.AbstractQuartzTaskManager} - Task scheduled: [-1234][ANALYTICS_SPARK_EVENTING][STORE_EVENT_ROUTER_TASK] 
[2017-05-28 13:03:46,877] [IoT-Analytics] INFO {org.wso2.carbon.core.init.JMXServerManager} - JMX Service URL : service:jmx:rmi://localhost:11113/jndi/rmi://localhost:10001/jmxrmi 
[2017-05-28 13:03:46,880] [IoT-Analytics] INFO {org.wso2.carbon.analytics.eventsink.AnalyticsEventStoreDeployer} - Deploying analytics event store: org_wso2_geo_FusedSpatialEvent.xml 
[2017-05-28 13:03:46,918] [IoT-Analytics] INFO {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} - Server   : WSO2 IoT - Analytics-3.0.0 
[2017-05-28 13:03:46,920] [IoT-Analytics] INFO {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} - WSO2 Carbon started in 95 sec 
[2017-05-28 13:03:46,990] [IoT-Analytics] INFO {org.wso2.carbon.event.stream.core.internal.EventJunction} - WSO2EventConsumer added to the junction. Stream:org.wso2.geo.FusedSpatialEvent:1.0.0 
[2017-05-28 13:03:46,992] [IoT-Analytics] INFO {org.wso2.carbon.analytics.eventsink.AnalyticsEventStoreDeployer} - Deployed successfully analytics event store: org_wso2_geo_FusedSpatialEvent.xml 
[2017-05-28 13:03:47,606] [IoT-Analytics] INFO {org.wso2.carbon.ui.internal.CarbonUIServiceComponent} - Mgt Console URL : https://192.x.x.x:9445/carbon/ 
[2017-05-28 13:03:47,686] [IoT-Analytics] INFO {org.wso2.carbon.event.receiver.core.EventReceiverDeployer} - Event Receiver undeployed successfully: Geo-Receiver-HTTP-LocationStream.xml 
[2017-05-28 13:03:47,721] [IoT-Analytics] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver Geo-Receiver-HTTP-LocationStream 
[2017-05-28 13:03:47,725] [IoT-Analytics] INFO {org.wso2.carbon.event.stream.core.internal.EventJunction} - Producer added to the junction. Stream:org.wso2.geo.LocationStream:1.0.0 
[2017-05-28 13:03:47,725] [IoT-Analytics] INFO {org.wso2.carbon.event.receiver.core.EventReceiverDeployer} - Event Receiver configuration successfully deployed and in active state: Geo-Receiver-HTTP-LocationStream 
[2017-05-28 13:03:58,761] [IoT-Analytics] INFO {org.wso2.carbon.event.processor.manager.core.internal.CarbonEventManagementService} - Starting polling event receivers 
[2017-05-28 13:26:31,353] [IoT-Analytics] INFO {org.wso2.carbon.databridge.core.DataBridge} - user admin connected 
[2017-05-28 13:26:31,468] [IoT-Analytics] ERROR {org.wso2.carbon.databridge.core.internal.queue.QueueWorker} - Dropping wrongly formatted event sent for -1234 
org.wso2.carbon.databridge.core.exception.EventConversionException: Error when converting org.wso2.android.agent.Stream:1.0.0 of event bundle with events 1 
    at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:181) 
    at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.toEventList(ThriftEventConverter.java:90) 
    at org.wso2.carbon.databridge.core.internal.queue.QueueWorker.run(QueueWorker.java:73) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.wso2.carbon.databridge.core.exception.EventConversionException: No StreamDefinition for streamId org.wso2.android.agent.Stream:1.0.0 present in cache 
    at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:166) 
    ... 7 more 
[2017-05-28 13:32:32,042] [IoT-Analytics] ERROR {org.wso2.carbon.databridge.core.internal.queue.QueueWorker} - Dropping wrongly formatted event sent for -1234 
org.wso2.carbon.databridge.core.exception.EventConversionException: Error when converting org.wso2.android.agent.Stream:1.0.0 of event bundle with events 1 
    at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:181) 
    at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.toEventList(ThriftEventConverter.java:90) 
    at org.wso2.carbon.databridge.core.internal.queue.QueueWorker.run(QueueWorker.java:73) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.wso2.carbon.databridge.core.exception.EventConversionException: No StreamDefinition for streamId org.wso2.android.agent.Stream:1.0.0 present in cache 
    at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:166) 
    ... 7 more 

當我試圖定義一個地理圍欄查詢和地理的儀表板造型,按保存後,它拋出follwing錯誤:

[2017-05-28 13:47:35,301] [IoT-Analytics] ERROR {org.wso2.carbon.databridge.core.internal.queue.QueueWorker} - Dropping wrongly formatted event sent for -1234 
org.wso2.carbon.databridge.core.exception.EventConversionException: Error when converting org.wso2.android.agent.Stream:1.0.0 of event bundle with events 1 
    at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:181) 
    at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.toEventList(ThriftEventConverter.java:90) 
    at org.wso2.carbon.databridge.core.internal.queue.QueueWorker.run(QueueWorker.java:73) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.wso2.carbon.databridge.core.exception.EventConversionException: No StreamDefinition for streamId org.wso2.android.agent.Stream:1.0.0 present in cache 
    at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:166) 
    ... 7 more 
[2017-05-28 13:48:14,089] [IoT-Analytics] INFO {JAGGERY.store.carbon.super.fs.gadget.geo-dashboard.controllers.set_alerts:jag} - /* Enter a unique ExecutionPlan */ 
@Plan:name('Geo-ExecutionPlan-Within_home---_4e42e50120311aea_alert') 

/* Enter a unique description for ExecutionPlan */ 
-- @Plan:description('ExecutionPlan') 

/* define streams/tables and write queries here ... */ 

@Import('org.wso2.geo.StandardSpatialEvents:1.0.0') 
define stream dataIn (id string, latitude double, longitude double, timeStamp long, type string ,speed float, heading float, eventId string); 

@Export('org.wso2.geo.ProcessedSpatialEvents:1.0.0') 
define stream dataOut (id string, latitude double, longitude double, timeStamp long, type string ,speed float, heading float, eventId string, state string, information string); 

from dataIn[geo:within(longitude,latitude,"{'type':'Polygon','coordinates':[[[32.79895305633545,39.98135815980835],[32.799296379089355,39.98124306559073],[32.79925346374511,39.98077857624252],[32.799028158187866,39.98035107883081],[32.79843807220459,39.97984547747823],[32.79794454574585,39.98008800217112],[32.79849708080292,39.980803239473126],[32.79895305633545,39.98135815980835]]]}")==true and id == "4e42e50120311aea"]#geodashboard:subscribe() 
select id , latitude, longitude,timeStamp, type, speed, heading ,eventId , "ALERTED" as state, "This device is in home restricted area!!!" as information 
insert into dataOut; 
from dataIn[geo:within(longitude,latitude,"{'type':'Polygon','coordinates':[[[32.79895305633545,39.98135815980835],[32.799296379089355,39.98124306559073],[32.79925346374511,39.98077857624252],[32.799028158187866,39.98035107883081],[32.79843807220459,39.97984547747823],[32.79794454574585,39.98008800217112],[32.79849708080292,39.980803239473126],[32.79895305633545,39.98135815980835]]]}")!=true and id == "4e42e50120311aea"] 
select id , latitude, longitude,timeStamp, type, speed, heading ,eventId , "NORMAL" as state, "" as information 
insert into dataOut; 

[2017-05-28 13:48:14,139] [IoT-Analytics] WARN {org.wso2.carbon.server.admin.module.handler.AuthenticationHandler} - Illegal access attempt at [2017-05-28 13:48:14,0139] from IP address 127.0.0.1 while trying to authenticate access to service EventProcessorAdminService 
[2017-05-28 13:48:14,144] [IoT-Analytics] ERROR {org.jaggeryjs.jaggery.core.manager.WebAppManager} - org.mozilla.javascript.WrappedException: Wrapped org.apache.axis2.AxisFault: Transport error: 401 Error: Unauthorized (/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/set_alerts.jag#117) 
org.jaggeryjs.scriptengine.exceptions.ScriptException: org.mozilla.javascript.WrappedException: Wrapped org.apache.axis2.AxisFault: Transport error: 401 Error: Unauthorized (/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/set_alerts.jag#117) 
    at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:571) 
    at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273) 
    at org.jaggeryjs.jaggery.core.manager.WebAppManager.exec(WebAppManager.java:588) 
    at org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:508) 
    at org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:747) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:485) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:377) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:337) 
    at org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.wso2.carbon.dashboard.store.filter.TenantStoreFilter.doFilter(TenantStoreFilter.java:51) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:120) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
    at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99) 
    at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) 
    at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57) 
    at org.wso2.carbon.event.receiver.core.internal.tenantmgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:48) 
    at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) 
    at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62) 
    at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958) 
    at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1756) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1715) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.mozilla.javascript.WrappedException: Wrapped org.apache.axis2.AxisFault: Transport error: 401 Error: Unauthorized (/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/set_alerts.jag#117) 
    at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754) 
    at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148) 
    at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225) 
    at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) 
    at org.jaggeryjs.rhino.portal.store.carbon.super.fs.gadget.geo_dashboard.controllers.c6._c_script_0(/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/set_alerts.jag:117) 
    at org.jaggeryjs.rhino.portal.store.carbon.super.fs.gadget.geo_dashboard.controllers.c6.call(/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/set_alerts.jag) 
    at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) 
    at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) 
    at org.jaggeryjs.rhino.portal.store.carbon.super.fs.gadget.geo_dashboard.controllers.c6.call(/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/set_alerts.jag) 
    at org.jaggeryjs.rhino.portal.store.carbon.super.fs.gadget.geo_dashboard.controllers.c6.exec(/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/set_alerts.jag) 
    at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567) 
    ... 45 more 
Caused by: org.apache.axis2.AxisFault: Transport error: 401 Error: Unauthorized 
    at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:326) 
    at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:196) 
    at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77) 
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:451) 
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:278) 
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) 
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:430) 
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225) 
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) 
    at org.wso2.carbon.event.processor.stub.EventProcessorAdminServiceStub.validateExecutionPlan(EventProcessorAdminServiceStub.java:2207) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126) 
    ... 54 more 

我搜索有關這些例外的所有問題,並做出提到其他配置在較舊的產品文檔中,但找不到解決方案。是否有任何額外配置可能會丟失?

在此先感謝

回答

1

第一個問題是因爲org.wso2.android.agent.Stream定義的不可用vanila分發包。

您可以從this link下載或建立this。提取存檔並將android_agent_analytics-1.0.0.car複製到$IOT_HOME/analytics/repository/deployments/server/carbonapps路徑(此問題已在latest中修復)。

對於第二期;有一個身份驗證問題。您是否嘗試使用私人瀏覽器窗口登錄到/ portal?它可能會解決這個問題。

+0

謝謝Rasika,複製解決第一個問題的汽車文件,但是當我用隱身模式打開geo儀表板並嘗試保存圍欄時,它會給出同樣的錯誤。我使用鉻版本57.0。 – dozcelik

+0

這有點奇怪,因爲我已經在3.0.0包中試過了。除了您提到的文檔外,您爲服務器做了哪些配置?你有沒有更改服務器的密碼? –

+0

@RasikaPerera的下載鏈接似乎被打破。請檢查 – Sam

0

WSO2 IoT 3.1.0已發佈,我們修復了這些問題。現在它還包括退出和進入的地理圍欄警報。