通过https与Microsoft Office集成的Alfresco Community 4.0

时间:2012-01-18 09:15:12

标签: https ms-office alfresco

背景

我们正在使用Alfresco取代SharePoint。主要用途是文档共享和管理。

我在Windows Server 2008 R2上使用MySQL全新安装了Alfresco Community 4.0。客户端是安装了Microsoft Office 2010的Windows 7。使用Chrome和最新的IE访问Alfresco。两种浏览器都工作得很好。客户端安装了Web文件夹更新(KB907306)以及注册表集,以允许SSL和非SSL共享的基本身份验证仅用于测试目的。真实场景只需要SSL。

问题

开箱即用(在客户端更新后),Microsoft Office集成仅在没有HTTPS的情况下运行。我们要求它始终使用HTTPS运行。 Alfresco文档包含有关如何设置SharePoint协议支持和HTTPS的说明。问题是,由于Alfresco最终崩溃,它将无法工作。它只显示错误页面并在Tomcat日志中生成数百行(主要是堆栈跟踪)。大多数例外来自Lucene和Quartz,并且确定哪些错误是相关的有些困难。当我禁用Alfresco文档中描述的更改时,但仍会在日志中生成错误。

那么,问题是如何配置Alfresco在线编辑以通过HTTPS与Microsoft Office协同工作

我得到的例外是:

SEVERE: Servlet.service() for servlet Spring Surf Dispatcher Servlet threw exception java.lang.nullPointerException

更新

似乎Alfresco Explorer Web客户端启动但从一开始它就一直在崩溃任何动作。已经完成了干净安装,而共享Web客户端工作正常。现在按照官方指示,Share不会使用HTTPS。

启动实例时的堆栈跟踪。

java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:529)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:559)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:401)
    at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:123)
    at org.alfresco.encryption.ssl.AuthSSLProtocolSocketFactory.createSocket(AuthSSLProtocolSocketFactory.java:168)
    at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
    at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
    at org.alfresco.httpclient.AbstractHttpClient.executeMethod(AbstractHttpClient.java:110)
    at org.alfresco.httpclient.AbstractHttpClient.sendRemoteRequest(AbstractHttpClient.java:86)
    at org.alfresco.httpclient.HttpClientFactory$HttpsClient.sendRequest(HttpClientFactory.java:307)
    at org.alfresco.solr.client.SOLRAPIClient.getModelsDiff(SOLRAPIClient.java:1008)
    at org.alfresco.solr.tracker.CoreTracker.trackModels(CoreTracker.java:1453)
    at org.alfresco.solr.tracker.CoreTracker.trackRepository(CoreTracker.java:1126)
    at org.alfresco.solr.tracker.CoreTracker.updateIndex(CoreTracker.java:483)
    at org.alfresco.solr.tracker.CoreTrackerJob.execute(CoreTrackerJob.java:45)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)

尝试访问共享时的堆栈跟踪。也会多次收到以上内容。

SEVERE: Servlet.service() for servlet Spring Surf Dispatcher Servlet threw exception
java.lang.NullPointerException
    at org.alfresco.web.site.EditionInterceptor.preHandle(EditionInterceptor.java:87)
    at org.springframework.web.servlet.handler.WebRequestHandlerInterceptorAdapter.preHandle(WebRequestHandlerInterceptorAdapter.java:54)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:781)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.alfresco.web.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:74)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.alfresco.web.site.servlet.SSOAuthenticationFilter.doFilter(SSOAuthenticationFilter.java:307)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)

Alfresco documentation on SharePoint protocol via HTTPS

1 个答案:

答案 0 :(得分:2)

要在Alfresco Community 4.0c和Microsoft Office之间启用HTTPS通信,我最终将Jetty设置为在标准7070端口上使用HTTPS。 Alfresco Share客户端也使用HTTPS与Web浏览器进行通信。但是,Alfresco存储库和Share,solr和其他组件之间的通信绝不能是HTTPS,因为Alfresco似乎失去连接并抛出一般错误页面。

按照官方说明,可以完成设置,但必须跳过一些步骤。所有其他都有效,但不要更改share-config-custom.xml。此外,alfresco-global.properties必须将Alfresco设置为标准端口,并将Share设置为HTTPS协议和端口。确保Web服务器域不是环回地址。

不知道这是一个错误或功能。至少它可以与Office 2010一起使用。

相关问题