1

に示すように、正しいNEO4J_URL環境変数を使用していますheroku config。ブラウザ経由で同じneo4jURLを使用すると、正常に機能します(認証の失敗はありません)。ただし、私のアプリケーションは、herokuで以下のエラーで起動できません。(私はspring-data-neo4jを使用しています)

URLはのようになりhttp://username:password@123456ac6.hosted.neo4j.org:1234/db/data/ます。最後に「/db/ data」を付けずに、また末尾にスラッシュを付けて、または付けずに試しました。助けにはならなかった。

誰かがすでにこの問題に直面/解決している場合は助けてください。サーバー起動時のスタックトレース:

←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m Caused by:
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m  at org.neo4j.rest.graphdb.index.RestIndexManager.existsForNodes(RestIndexManager.java:45)
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m java.lang.RuntimeException: Error reading as JSON '<html>|<head>|<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>|<tit
le>Error 401 UNAUTHORIZED</title>|</head>|<body><h2>HTTP ERROR 401</h2>|<p>Problem accessing /db/data/index/node. Reason:|<pre>    UNAUTHORIZED</pre></p><hr /><i><small>Powered by Jetty://</
small></i><br/>                                                |<br/>                                                |<br/>                                                |<br/>
                                   |<br/>                                                |<br/>                                                |<br/>
       |<br/>                                                |<br/>                                                |<br/>                                                |<br/>
                                 |<br/>                                                |<br/>
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m  at org.neo4j.rest.graphdb.util.JsonHelper.jsonToSingleValue(JsonHelper.java:62)
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m  at org.neo4j.rest.graphdb.RequestResult.toEntity(RequestResult.java:114)
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m                      |<br/>                                                |<br/>                                                |<br/>
                                        |<br/>                                                |<br/>                                                |<br/>
            |<br/>                                                ||</body>|</html>|'
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m  at org.neo4j.rest.graphdb.RequestResult.toMap(RequestResult.java:120)
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m  at org.neo4j.rest.graphdb.util.JsonHelper.readJson(JsonHelper.java:57)
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m  at org.neo4j.rest.graphdb.index.RestIndexManager.indexInfo(RestIndexManager.java:50)
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m  at org.springframework.data.neo4j.support.typerepresentation.TypeRepresentationStrategyFactory.chooseStrategy(TypeRepresentationStrategyFactor
y.java:56)
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m  at org.neo4j.rest.graphdb.ExecutingRestAPI.indexInfo(ExecutingRestAPI.java:327)
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m  at org.springframework.data.neo4j.config.Neo4jConfiguration$$EnhancerByCGLIB$$36bc2a37.CGLIB$typeRepresentationStrategyFactory$7(<generated>)
←[36m2013-03-06T23:44:31+00:00 app[web.1]:←[0m  at org.springframework.data.neo4j.rest.SpringRestGraphDatabase.getIndex(SpringRestGraphDatabase.java:100
4

1 に答える 1

1

@MichaelHungerが提案したように、SpringRestGraphDatabaseユーザー名とパスワードを別々のパラメーターとして受け取る他のコンストラクターを使用しました。これで、neoデータベースにアクセスできるようになりました。

私の以前の春のコンテキストは次のようになりました

<bean id="graphDatabaseService" class="org.springframework.data.neo4j.rest.SpringRestGraphDatabase">
    <constructor-arg index="0" value="${NEO4J_URL}" />
</bean>

今、私はそれを以下のように変更しました、そしてすべてがうまくいきます!ここでは、2つの追加の環境変数を介してユーザー名とパスワードを提供します。はい、herokuでユーザー名とパスワードの環境変数を設定するという点で少し手作業があります(または、あまり好ましくない場合は、アプリケーションで同じものをハードコーディングできます)。これは、neo4jherokuアドオンを追加した後に自動的に使用できるNEO4J_URL環境変数に追加されます。

<bean id="graphDatabaseService" class="org.springframework.data.neo4j.rest.SpringRestGraphDatabase">
    <constructor-arg index="0" value="${NEO4J_URL}" />
    <constructor-arg index="1" value="${NEO4J_USERNAME}" />
    <constructor-arg index="2" value="${NEO4J_PASSWORD}" />
</bean>

ありがとう@MichaelHunger!

于 2013-03-11T04:42:05.707 に答える