我正在处理一个旧项目,由于部署新版本的时间很短,我无法使用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;
}
}