1

最近、fedora-commons 3.7 から 3.8.1 にアップグレードしました。fedora-admin Web パネルからオブジェクトを検索して取り込むことはできますが、/fedora/client/bin/fedora-admin.sh を実行して「*」を検索しようとすると、次のエラーが発生します。

WARN 09:33:21.111 (PhaseInterceptorChain) Interceptor for {http://fedora-commons.org/2011/07/definitions/types/}FedoraAPIAMTOMService#{http://fedora-commons.org/2011/07/definitions/types/}findObjects has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64) ~[cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272) ~[cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565) [cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474) [cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377) [cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330) [cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) [cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135) [cxf-bundle-2.7.7.jar:2.7.7]
at com.sun.proxy.$Proxy50.findObjects(Unknown Source) [na:na]
at org.fcrepo.client.mtom.APIAStubWrapper$7.construct(APIAStubWrapper.java:193) [fcrepo-client-admin-3.8.1-SNAPSHOT.jar:na]
at org.fcrepo.client.mtom.APIAStubWrapper$7.construct(APIAStubWrapper.java:187) [fcrepo-client-admin-3.8.1-SNAPSHOT.jar:na]
at org.fcrepo.client.SwingWorker$2.run(SwingWorker.java:131) [fcrepo-client-admin-3.8.1-SNAPSHOT.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '401: Unauthorized' when communicating with http://localhost:8080/fedora/services/accessMTOM
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1542) ~[cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1502) ~[cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1309) ~[cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) ~[cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627) ~[cxf-bundle-2.7.7.jar:2.7.7]
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) ~[cxf-bundle-2.7.7.jar:2.7.7]
... 12 common frames omitted
Exception in thread "Thread-1" javax.xml.ws.WebServiceException: Could not send Message.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
at com.sun.proxy.$Proxy50.findObjects(Unknown Source)
at org.fcrepo.client.mtom.APIAStubWrapper$7.construct(APIAStubWrapper.java:193)
at org.fcrepo.client.mtom.APIAStubWrapper$7.construct(APIAStubWrapper.java:187)
at org.fcrepo.client.SwingWorker$2.run(SwingWorker.java:131)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '401: Unauthorized' when communicating with http://localhost:8080/fedora/services/accessMTOM
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1542)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1502)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1309)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
... 5 more

私は fedora ユーザーとして fedora-admin.sh を実行しています。助けてくれてありがとう。

4

1 に答える 1

2

HTTP 応答コード 401 が無許可です。

Fedora Commons をインストールしたときに、API-A で認証を有効にしていると思います。

インストールで同様の問題が発生したため、keytool を使用して .keystore を生成し、それを $JAVA_OPTS に追加して ssl をセットアップすることで解決しました。.bashrc に次の行を追加しました。

export JAVA_OPTS='-Djavax.net.ssl.trustStore=~/.keystore -Djavax.net.ssl.trustStorePassword=MyKeystorePassword'

次にコマンドを使用します:source ~/.bashrc

SSL 構成に問題があるかどうかを確認するには、HTTPS なしで Fedora API へのアクセスを有効にするか、インストール スクリプトを再度実行するか、$FEDORA_HOME/server/config でサーバー構成を編集します。そのエラーがなくなった場合は、確認してください。上記のJava SSL構成。

于 2016-08-09T10:15:47.073 に答える