Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过java代码触发Alfresco工作流_Java_Web Services_Alfresco - Fatal编程技术网

通过java代码触发Alfresco工作流

通过java代码触发Alfresco工作流,java,web-services,alfresco,Java,Web Services,Alfresco,我想在servlet环境下开发一个更好的应用程序。 我想从我的应用程序触发alfresco开箱即用工作流WebScript。Alfresco为此提供了restful URL 有人能告诉我如何调用RESTURL从java代码中调用WebScript吗 任何人都可以给我一个样本代码或手册,因为我在网络服务有限的经验 我需要一点清楚详细的解释 谢谢,Alfresco没有公开任何与工作流相关的SOAP web服务。工作流的首选远程界面是一组web脚本,您可以在http://your.alfresco.u

我想在servlet环境下开发一个更好的应用程序。 我想从我的应用程序触发alfresco开箱即用工作流WebScript。Alfresco为此提供了restful URL

有人能告诉我如何调用RESTURL从java代码中调用WebScript吗

任何人都可以给我一个样本代码或手册,因为我在网络服务有限的经验

我需要一点清楚详细的解释


谢谢,Alfresco没有公开任何与工作流相关的SOAP web服务。工作流的首选远程界面是一组web脚本,您可以在
http://your.alfresco.url/alfresco/service/index/uri/
as:

/api/workflow/task/end/{taskId}
/api/workflow/task/end/{taskId}/{transitionId}
/api/workflow-definitions
/api/workflow-definitions/{workflow_definition_id}/workflow-instances
/api/workflow-instances
/api/workflow-instances/{workflow_instance_id}
/api/workflow-instances/{workflow_instance_id}/task-instances

请注意,这些URL更像API系列,链接将为每个项目显示多个有效的远程API调用,可能响应不同的HTTP动词(例如GET、POST、DELETE)或在URL模板中包含更多输入参数。

请查看此处,了解工作流REST API的详细描述:

以下是如何启动工作流的示例:

示例

使用spring调用alfresco REST服务:

您可以使用Apache HTTP客户端库执行RESTful(JSON请求/发布)

下面是一个教程,介绍如何发布/访问类似露天的服务器:

将示例url替换为工作流REST API中定义的露天url。 此外,在你做这一切之前,你需要到户外去

  • 使用相同的HTTP客户端示例获取url
    http://localhost:8080/alfresco/service/api/login?u=admin&pw=admin
  • 您将得到如下响应:
    TICKET\u 887add1e01b5c4c0cd58ac11c768f8e54c1abf4
  • 将元素的票证值保存在Java变量中
  • 将票据与一个工作流REST API服务一起使用,例如
    http://localhost:8080/alfresco/service/api/workflow-定义
    请按如下方式出示票据:
    http://localhost:8080/alfresco/service/api/workflow-定义?alf_票证=票证添加1E01B5C4C0CD58AC11C768F8E54C1ABF4
  • 对结果做任何你想做的事情:)

  • 下面是实现这一点的示例Web脚本。可以使用URL调用脚本

    这将在URL中路径指定的节点上启动审阅和批准工作流(在/start之后)

    您可以使用ApacheHttpClient从Java代码调用URL


    StartWorkflow.get.desc.xml

    <webscript>
      <shortname>Start Review and Approve Workflow</shortname>
      <description>Script to start Review and Approve Workflow on a Node</description>
      <url>/workflows/approveandreview/start/{path}</url>
      <format default="xml">argument</format>
      <authentication>user</authentication>
      <transaction>required</transaction>
    </webscript>
    
    StartWorkflow.get.xml.ftl

    <?xml version="1.0" encoding="UTF-8"?>
    <approveandreview>
        <status>${status.code}</status>
        <message>${status.message}</message>
    </approveandreview>
    
    
    ${status.code}
    ${status.message}
    

    希望这有帮助。如果有任何问题,请告诉我。

    根据塔希尔的建议,您可以在下面找到jar示例。它将为主文件夹和子文件夹提供响应。您可以输入相应的url以获得jason响应


    谢谢你,斯库罗。。我需要一个示例java代码来发送请求并从alfresco工作流webscripts获得响应。。以及我想包含在类路径中的库。。正如我所说,我们在网络服务方面的经验非常少,谢谢你的回复。。我看到了他们为启动工作流等提供的其余url。。但是我需要一个示例java代码来调用web服务url并获得响应。。有点详细,因为我在web服务方面的经验很少如果你使用spring,你可以看看这个:下面是一个快速示例:没问题,如果你在这方面有困难,请告诉我
    <?xml version="1.0" encoding="UTF-8"?>
    <approveandreview>
        <status>${status.code}</status>
        <message>${status.message}</message>
    </approveandreview>