“未授权执行此请求"使用arangodb Java驱动程序 [英] "not authorized to execute this request" using the arangodb java driver

查看:484
本文介绍了“未授权执行此请求"使用arangodb Java驱动程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在Eclipse上的Maven项目中为ArangoDB使用Java驱动程序.我正在尝试遵循此处可用的ArangoDB Java驱动程序的指南.即使从一个干净的项目开始,也无法使更简单的应用程序正常工作.

I want to use the java driver for ArangoDB in a Maven project on Eclipse. I am trying to follow the tutorial for the java driver for ArangoDB available here, but I cannot even get the simpler application to work, even starting from a clean project.

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>

运行代码时出现以下错误:

I get the following error when running the 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)


我尝试了其他基本操作,没有任何效果(即使是简单的arangoDB.getVersion();).

如果我将以下依赖项添加到pom.xml中,它将删除警告,但不会删除错误:

If I add the following dependency to the pom.xml, it removes warnings but not the errors:

<dependency> 
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.22</version>
</dependency>

结果:

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)

推荐答案

您需要指定到db的连接数据,例如用户,密码等,所有db都需要成功连接,再次检查class的javadoc Builder 并设置用户和密码.

You need to specify connection data to your db like user, password and etc, all what is db need to succesfully connection, check again javadoc of class Builder and set user and password.

ArangoDB arangoDB = new ArangoDB.Builder().build();

在这里您什么也没有设置,并且完全没有任何连接数据即可构建ArrangoDb实例

Here you setup nothing and build ArrangoDb instance without any connection data at all

这篇关于“未授权执行此请求"使用arangodb Java驱动程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆