Alfresco 5.0: AuthenticationUtils.startSession generate 404



我正在处理一个旧项目,由于部署新版本的时间很短,我无法使用CMIS迁移内容上传,因此,我需要使用旧的WebServiceFactory代码将二进制文件创建到Alfresco中。

但是,随着Alfresco(5.0.a)的新发布,我无法使用获得授权

WebServiceFactory.setEndpointAddress("http://localhost:8080/alfresco/api");             
AuthenticationUtils.startSession(userName, password);

这是我得到的错误:

Caused by: (404)Not Found
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)

有线索吗?您知道是否有一种非常(非常)快速的方法可以从Java类创建文件夹和更新二进制文件吗?

谢谢,
Andrea

从这段代码中获取文件加载器示例,将pom.xml编辑为所有内容的最新版本,将其指向服务器,运行,享受。

在我们的例子中,问题只与第一个会话的开始有关,因为WebServiceFactory默认情况下会尝试加载文件"alfresco/webserviceclient.properties"。

我们已经用这个变通方法解决了这个问题:

public static void startSession(String endpoint, String username, String password)
                throws Exception {
    try {
        if (_log.isDebugEnabled()) {
            _log.debug("Connecting to: " + endpoint);
        }
        /** fix for http 404 error during start first session
         *  needs to init {@link WebServiceFactory#loadedProperties} field to true and nothing else
         */
        WebServiceFactory.getEndpointAddress();
        /** fix for http 404 error during start first session*/
        WebServiceFactory.setEndpointAddress(endpoint);
        AuthenticationUtils.startSession(username, password);
        if (_log.isDebugEnabled()) {
            _log.debug("Start session with ticket: " + AuthenticationUtils.getTicket());
        }
    }
    catch (Exception e) {
        _log.error("Can not initiate session with Alfresco server.");
        throw e;
    }
}

相关内容

  • 没有找到相关文章