Tomcat7 为什么我的fedora-admin.sh findObjects抛出异常?

Tomcat7 为什么我的fedora-admin.sh findObjects抛出异常?,tomcat7,fedora-commons,Tomcat7,Fedora Commons,我最近从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/}FedoraAPIAMTOMSer

我最近从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。谢谢您的帮助。

您的HTTP响应代码为401

因此,我认为您在安装Fedora Commons时启用了API-A上的身份验证

我的安装也遇到了类似的问题,我通过使用keytool生成.keystore并将其添加到$JAVA_OPTS来设置ssl,从而解决了这个问题。我在.bashrc中添加了这一行:

导出JAVA_OPTS='-Djavax.net.ssl.trustStore=~/.keystore-Djavax.net.ssl.trustStorePassword=mykeystrepassword'

然后使用命令:source~/.bashrc

您可以通过启用不使用HTTPS访问Fedora API来验证ssl配置是否存在问题,或者再次运行安装脚本,或者在$Fedora_HOME/server/config中编辑服务器配置(如果不再存在该错误),然后如上所述检查java ssl配置