Je souhaite utiliser le pilote java pour ArangoDB dans un projet Maven sur Eclipse. J'essaie de suivre le tutoriel pour le pilote Java pour ArangoDB disponible here, mais je ne peux même pas faire fonctionner l'application plus simple, même à partir d'un projet propre."non autorisé à exécuter cette requête" à l'aide du pilote arangodb java
main.java:
package test;
import com.arangodb.ArangoDB;
public class main {
public static void main(String[] args) {
ArangoDB arangoDB = new ArangoDB.Builder().build();
arangoDB.createDatabase("myDatabase");
}
}
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.arangodb</groupId>
<artifactId>arangodb-java-driver</artifactId>
<version>4.2.0</version>
</dependency>
</dependencies>
</project>
Je reçois l'erreur suivante lors de l'exécution du code:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" com.arangodb.ArangoDBException: Response: 401, Error: 11 - not authorized to execute this request
at com.arangodb.internal.velocystream.VstCommunication.checkError(VstCommunication.java:106)
at com.arangodb.internal.velocystream.VstCommunicationSync.execute(VstCommunicationSync.java:134)
at com.arangodb.internal.velocystream.VstCommunicationSync.execute(VstCommunicationSync.java:46)
at com.arangodb.internal.velocystream.VstCommunication.execute(VstCommunication.java:96)
at com.arangodb.internal.velocystream.VstProtocol.execute(VstProtocol.java:46)
at com.arangodb.internal.ArangoExecutorSync.execute(ArangoExecutorSync.java:58)
at com.arangodb.ArangoDB.createDatabase(ArangoDB.java:437)
at test.main.main(main.java:12)
J'ai essayé d'autres opérations de base, aucune ne fonctionne (même un simple arangoDB.getVersion();
).
Si j'ajoute la dépendance suivante au pom.xml, il supprime les avertissements mais pas les erreurs:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.22</version>
</dependency>
Résultat:
Exception in thread "main" com.arangodb.ArangoDBException: Response: 401, Error: 11 - not authorized to execute this request
at com.arangodb.internal.velocystream.VstCommunication.checkError(VstCommunication.java:106)
at com.arangodb.internal.velocystream.VstCommunicationSync.execute(VstCommunicationSync.java:134)
at com.arangodb.internal.velocystream.VstCommunicationSync.execute(VstCommunicationSync.java:46)
at com.arangodb.internal.velocystream.VstCommunication.execute(VstCommunication.java:96)
at com.arangodb.internal.velocystream.VstProtocol.execute(VstProtocol.java:46)
at com.arangodb.internal.ArangoExecutorSync.execute(ArangoExecutorSync.java:58)
at com.arangodb.ArangoDB.createDatabase(ArangoDB.java:437)
at test.main.main(main.java:12)
Dans ma compréhension, la réception d'un 'Réponse: 401' indique que les informations d'identification fournies (ou non) ne suffisent pas à effectuer la requête sur la base de données cible. – Tome