So I have freshly installed GeoEvent extension to a ArcGIS 10.5 Server with some registered ArcGIS server connections. One of the connections require username and password. When I try to use that (successfully added) server connection in a field enricher, this error can be found in the stacktrace.. (slightly cut for readability)
com.esri.ges.datastore.agsconnection.DefaultArcGISServerConnection | Key file does not exist. java.lang.Exception: Key file does not exist. at com.esri.ges.security.cryptography.internal.GeoEventServerCryptoImpl.doDecrypt(GeoEve.... com.esri.ges.processor.fieldenricher.FeatureServiceDataProvider...... | |
com.esri.ges.datastore.agsconnection.DefaultArcGISServerConnection | Error trying to decrypt Web Tier Password. |
|
I can also see some zookeeper issues in the log. Maybe the keyfile are stored in zookeeper and it all fails because of this?
org.apache.curator.framework.state.ConnectionStateManager | State change: RECONNECTED |
com.esri.ges.fabric.internal.ZKPersistenceUtility | KeeperErrorCode = ConnectionLoss for /geoevent/config/clusters/default/arcgisServerConnections/ff2006f0-c141-4150-8ace-d183fa6c5d59.json/ServicesCache.json org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /geoevent/config/clusters/default/arcgisServerConnections/ff2006f0-c141-4150-8ace-d183fa6c5d59.json/ServicesCache.json at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)[23:org.apache.zookeeper.zookeeper-geoevent:3.5.0] at o |
org.apache.curator.ConnectionState | Connection string changed to: EEARCGISTEST01.EIDSIVAENERGI.NO:2181 |
What am I missing?
Tor,
Can you try resetting the password for the account you are referencing? I see this in your errors:
.DefaultArcGISServerConnection | Error trying to decrypt Web Tier Password.
Your password might be utilizing a character that is not decrypted properly.
In regards to the Keyfile that is created when you installed ArcGIS Server and authorized its role as Geoevent should be:
Help
Provide the path and file name of the keycodes file that was created when you authorized ArcGIS for Server Enterprise. This file is in the \\Program Files\ESRI\License<release#>\sysgen folder on Windows or /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen directory on Linux. If you have not already done so, authorize ArcGIS for Server to create this file.
~Alex
The "keycodes" file are there:
arcsdeserver,105,ec.....
svrenterprise,105,e...
svrstd,105,ecp79221...
svrstd_4,105,ecp792...
geoesvr,105,ecp5811
geoesvr_4,105,ecp58
portal2_50,105,ecp5
And the password contains only a-zA-Z0-9 nothing special at all. Instead of having the username and password I generated a long lived token and the password message is gone from the logs. So it's a workaround.
Okey, So I changed to token based auth, and the server connection is green under "Data Stores" in the event manager. And, I can see updates of the services every now and then (DEBUG Level at com.esri.ges.httpclient.Http). But, when I run the Field enricher it still fails (but in a new way). The field enricher must be utterly disconnected 😕
com.esri.ges.datastore.agsconnection.DefaultArcGISServerConnection | Invalid Token com.esri.ges.core.validation.ValidationException: Invalid Token at com.esri.ges.datastore.agsconnection.DefaultArcGISServerConnection.validate(DefaultArcGISServerConnection.java:950)[104:com.esri.ges.framework.datastore.agsconnection-datastore:10.5.0] at com.esri.ges.datastore.agsconnection.DefaultArcGISServerConnection.validate(DefaultArcGISServerConnection.java:960)[104:com.esri.ges.framework.datastore.agsconnection-datastore:10.5.0] at com.esri.ges.datastore.agsconnection.DefaultArcGISServerConnection.isUseable(DefaultArcGISServerConnection.java:4529)[104:com.esri.ges.framework.datastore.agsconnection-datastore:10.5.0] at com.esri.ges.processor.fieldenricher.FeatureServiceDataProvider.onArcGISServerConnectionStatusChange(FeatureServiceDataProvider.java:290)[146:com.esri.ges.framework.processor.fieldenricher-processor:10.5.0] at com.esri.ges.manager.datastore.agsconnection.internal.ArcGISServerConnectionManagerImpl$1.run(ArcGISServerConnectionManagerImpl.java:493)[212:com.esri.ges.manager.internal-agsconnectionmanager:10.5.0] at java.lang.Thread.run(Thread.java:745)[:1.8.0_101] | 17. mar. 2017, 09.29.52 | ERROR |
com.esri.ges.datastore.agsconnection.DefaultArcGISServerConnection | ArcGIS Server response validation failed. Error: Invalid Token. |
Tor,
Is this a single machine or multi tier machine deployment? If single, how did you register your arcgis server address in GeoEvent's datastores? Local host, IP, or full DNS entry?
~Alex