使用 alfresco-web-service-client 连接到 alfresco 2017

connect to alfresco 2017 using alfresco-web-service-client

我正在使用 alfresco-web-service-client 5.0.a,我正在尝试登录部署在 localhost:8081/alfresco.

的 alfresco-community 2017

这是我到目前为止所做的:

    import org.alfresco.webservice.authentication.AuthenticationFault;
    import org.alfresco.webservice.util.AuthenticationUtils;
    import org.alfresco.webservice.util.WebServiceFactory;

    public class Main {

        public static void main(String[] args) throws AuthenticationFault  {

            WebServiceFactory.setEndpointAddress("http://localhost:8081/alfresco/api");     
            AuthenticationUtils.startSession("admin", "admin");

        }
    }

这是我 运行 class 时得到的结果:

Exception in thread "main" org.alfresco.webservice.util.WebServiceException: Error starting session.
    at org.alfresco.webservice.util.AuthenticationUtils.startSession(AuthenticationUtils.java:99)
    at com.lydec.Main.Main.main(Main.java:12)
Caused by: java.net.ConnectException: Connection refused: connect
    at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
    at org.apache.axis.client.Call.invoke(Call.java:2767)
    at org.apache.axis.client.Call.invoke(Call.java:2443)
    at org.apache.axis.client.Call.invoke(Call.java:2366)
    at org.apache.axis.client.Call.invoke(Call.java:1812)
    at org.alfresco.webservice.authentication.AuthenticationServiceSoapBindingStub.startSession(AuthenticationServiceSoapBindingStub.java:187)
    at org.alfresco.webservice.util.AuthenticationUtils.startSession(AuthenticationUtils.java:84)
    ... 1 more
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:153)
    at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:120)
    at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
    at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
    ... 12 more

pom.xml

您不能使用旧的(不稳定的)5.0.a Web 服务客户端与服务器上的现代版本的 Alfresco 通信。

link 提供有关基于 SOAP 的 Web 服务的更改的信息。

如果您必须使用基于 SOAP 的 Web 服务,请使用 CMIS (sample code)。

我强烈建议您使用 REST 而不是基于 SOAP 的 Web 服务来处理任何事情。对于 Alfresco,您可以使用新的 public REST API 或者您可以使用 CMIS(Atom Pub 绑定或浏览器绑定)。