<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to make an API call to a REST ws from an Alfresco workflow? in Alfresco Forum</title>
    <link>https://connect.hyland.com/t5/alfresco-forum/how-to-make-an-api-call-to-a-rest-ws-from-an-alfresco-workflow/m-p/142869#M37987</link>
    <description>&lt;P&gt;Thank you very much and excuse me for all of my questions. I am new to Alfresco and not a developer jeje.&lt;/P&gt;&lt;P&gt;This is the answer I wanted! More on this video:&lt;BR /&gt;&lt;/P&gt;&lt;DIV class="video-embed-center video-embed"&gt;&lt;IFRAME class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fphju1Lru7kI%3Ffeature%3Doembed&amp;amp;display_name=YouTube&amp;amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dphju1Lru7kI&amp;amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fphju1Lru7kI%2Fhqdefault.jpg&amp;amp;key=4d41183506e742d98595f664850327e2&amp;amp;type=text%2Fhtml&amp;amp;schema=youtube" width="200" height="112" scrolling="no" title="Alfresco Summit 2013: Power Up your Activiti Workflow with Java Delegates" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"&gt;&lt;/IFRAME&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 08 Feb 2021 13:36:17 GMT</pubDate>
    <dc:creator>tlosada</dc:creator>
    <dc:date>2021-02-08T13:36:17Z</dc:date>
    <item>
      <title>How to make an API call to a REST ws from an Alfresco workflow?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/how-to-make-an-api-call-to-a-rest-ws-from-an-alfresco-workflow/m-p/142867#M37985</link>
      <description>&lt;P&gt;&lt;SPAN&gt;I have followed this tutorial:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://ecmarchitect.com/alfresco-developer-series-tutorials/workflow/tutorial/tutorial.html" target="_blank" rel="nofollow noopener noreferrer"&gt;https://ecmarchitect.com/alfresco-developer-series-tutorials/workflow/tutorial/tutorial.html&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;For now, I have created a&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;HelloWorld&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;workflow and deployed it successfully using&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Alfresco Maven SDK&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;for&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Alfresco 6.2&lt;/EM&gt;&lt;SPAN&gt;. This is the part of corresponding&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;.bpmn&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;file that prints&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Hello World!&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;in server's log:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;    &lt;SPAN class="hljs-tag"&gt;&amp;lt;&lt;SPAN class="hljs-name"&gt;sequenceFlow&lt;/SPAN&gt; &lt;SPAN class="hljs-attr"&gt;id&lt;/SPAN&gt;=&lt;SPAN class="hljs-string"&gt;"flow1"&lt;/SPAN&gt; &lt;SPAN class="hljs-attr"&gt;sourceRef&lt;/SPAN&gt;=&lt;SPAN class="hljs-string"&gt;"startevent1"&lt;/SPAN&gt; &lt;SPAN class="hljs-attr"&gt;targetRef&lt;/SPAN&gt;=&lt;SPAN class="hljs-string"&gt;"usertask1"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class="hljs-tag"&gt;&amp;lt;&lt;SPAN class="hljs-name"&gt;extensionElements&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class="hljs-tag"&gt;&amp;lt;&lt;SPAN class="hljs-name"&gt;activiti:executionListener&lt;/SPAN&gt; &lt;SPAN class="hljs-attr"&gt;event&lt;/SPAN&gt;=&lt;SPAN class="hljs-string"&gt;"start"&lt;/SPAN&gt; &lt;SPAN class="hljs-attr"&gt;class&lt;/SPAN&gt;=&lt;SPAN class="hljs-string"&gt;"org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
                &lt;SPAN class="hljs-tag"&gt;&amp;lt;&lt;SPAN class="hljs-name"&gt;activiti:field&lt;/SPAN&gt; &lt;SPAN class="hljs-attr"&gt;name&lt;/SPAN&gt;=&lt;SPAN class="hljs-string"&gt;"script"&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
                    &lt;SPAN class="hljs-tag"&gt;&amp;lt;&lt;SPAN class="hljs-name"&gt;activiti:string&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;logger.log("Hello, World!");&lt;SPAN class="hljs-tag"&gt;&amp;lt;/&lt;SPAN class="hljs-name"&gt;activiti:string&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
                &lt;SPAN class="hljs-tag"&gt;&amp;lt;/&lt;SPAN class="hljs-name"&gt;activiti:field&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
            &lt;SPAN class="hljs-tag"&gt;&amp;lt;/&lt;SPAN class="hljs-name"&gt;activiti:executionListener&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
        &lt;SPAN class="hljs-tag"&gt;&amp;lt;/&lt;SPAN class="hljs-name"&gt;extensionElements&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN class="hljs-tag"&gt;&amp;lt;/&lt;SPAN class="hljs-name"&gt;sequenceFlow&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;However, I need to make an API call to&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://google.com/" target="_blank" rel="nofollow noopener noreferrer"&gt;https://google.com&lt;/A&gt;&lt;SPAN&gt;, just for testing purposes. But, when I try this:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;    &amp;lt;sequenceFlow id=&lt;SPAN class="hljs-string"&gt;"flow1"&lt;/SPAN&gt; sourceRef=&lt;SPAN class="hljs-string"&gt;"startevent1"&lt;/SPAN&gt; targetRef=&lt;SPAN class="hljs-string"&gt;"usertask1"&lt;/SPAN&gt;&amp;gt;
        &amp;lt;extensionElements&amp;gt;
            &amp;lt;activiti:executionListener event=&lt;SPAN class="hljs-string"&gt;"start"&lt;/SPAN&gt; class=&lt;SPAN class="hljs-string"&gt;"org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener"&lt;/SPAN&gt;&amp;gt;
                &amp;lt;activiti:field name=&lt;SPAN class="hljs-string"&gt;"script"&lt;/SPAN&gt;&amp;gt;
                    &amp;lt;activiti:&lt;SPAN class="hljs-built_in"&gt;string&lt;/SPAN&gt;&amp;gt;
                        var url = &lt;SPAN class="hljs-string"&gt;"https://google.com"&lt;/SPAN&gt;;
                        
                        var xhr = new XMLHttpRequest();
                        xhr.&lt;SPAN class="hljs-built_in"&gt;open&lt;/SPAN&gt;(&lt;SPAN class="hljs-string"&gt;"GET"&lt;/SPAN&gt;, url);
                        
                        xhr.onreadystatechange = &lt;SPAN class="hljs-function"&gt;&lt;SPAN class="hljs-keyword"&gt;function&lt;/SPAN&gt; &lt;SPAN class="hljs-params"&gt;()&lt;/SPAN&gt;&lt;/SPAN&gt; {
                           &lt;SPAN class="hljs-keyword"&gt;if&lt;/SPAN&gt; (xhr.readyState === &lt;SPAN class="hljs-number"&gt;4&lt;/SPAN&gt;) {
                              logger.&lt;SPAN class="hljs-built_in"&gt;log&lt;/SPAN&gt;(xhr.&lt;SPAN class="hljs-built_in"&gt;status&lt;/SPAN&gt;);
                              logger.&lt;SPAN class="hljs-built_in"&gt;log&lt;/SPAN&gt;(xhr.responseText);
                           }};
                        
                        xhr.send();                 
                    &amp;lt;/activiti:&lt;SPAN class="hljs-built_in"&gt;string&lt;/SPAN&gt;&amp;gt;
                &amp;lt;/activiti:field&amp;gt;
            &amp;lt;/activiti:executionListener&amp;gt;
        &amp;lt;/extensionElements&amp;gt;
    &amp;lt;/sequenceFlow&amp;gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;I get this exception:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class="hljs-selector-tag"&gt;org&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.alfresco&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.scripts&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.ScriptException&lt;/SPAN&gt;: 01030043 &lt;SPAN class="hljs-selector-tag"&gt;Failed&lt;/SPAN&gt; &lt;SPAN class="hljs-selector-tag"&gt;to&lt;/SPAN&gt; &lt;SPAN class="hljs-selector-tag"&gt;execute&lt;/SPAN&gt; &lt;SPAN class="hljs-selector-tag"&gt;supplied&lt;/SPAN&gt; &lt;SPAN class="hljs-selector-tag"&gt;script&lt;/SPAN&gt;: 01030042 &lt;SPAN class="hljs-selector-tag"&gt;ReferenceError&lt;/SPAN&gt;: "&lt;SPAN class="hljs-selector-tag"&gt;XMLHttpRequest&lt;/SPAN&gt;" &lt;SPAN class="hljs-selector-tag"&gt;is&lt;/SPAN&gt; &lt;SPAN class="hljs-selector-tag"&gt;not&lt;/SPAN&gt; &lt;SPAN class="hljs-selector-tag"&gt;defined&lt;/SPAN&gt;. (&lt;SPAN class="hljs-selector-tag"&gt;AlfrescoJS&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-id"&gt;#3&lt;/SPAN&gt;)
    &lt;SPAN class="hljs-selector-tag"&gt;at&lt;/SPAN&gt; &lt;SPAN class="hljs-selector-tag"&gt;org&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.alfresco&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.repo&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.jscript&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.RhinoScriptProcessor&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.executeString&lt;/SPAN&gt;(&lt;SPAN class="hljs-selector-tag"&gt;RhinoScriptProcessor&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.java&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-pseudo"&gt;:287)&lt;/SPAN&gt;
    &lt;SPAN class="hljs-selector-tag"&gt;at&lt;/SPAN&gt; &lt;SPAN class="hljs-selector-tag"&gt;org&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.alfresco&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.repo&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.processor&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.ScriptServiceImpl&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.executeString&lt;/SPAN&gt;(&lt;SPAN class="hljs-selector-tag"&gt;ScriptServiceImpl&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.java&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-pseudo"&gt;:293)&lt;/SPAN&gt;
    &lt;SPAN class="hljs-selector-tag"&gt;at&lt;/SPAN&gt; &lt;SPAN class="hljs-selector-tag"&gt;org&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.alfresco&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.repo&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.processor&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.ScriptServiceImpl&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.executeScriptString&lt;/SPAN&gt;(&lt;SPAN class="hljs-selector-tag"&gt;ScriptServiceImpl&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-class"&gt;.java&lt;/SPAN&gt;&lt;SPAN class="hljs-selector-pseudo"&gt;:200)&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;Investigating, I checked this post:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://hub.alfresco.com/t5/alfresco-content-services-forum/calling-rest-service-via-rule-script/td-p/32830" target="_blank" rel="nofollow noopener noreferrer"&gt;https://hub.alfresco.com/t5/alfresco-content-services-forum/calling-rest-service-via-rule-script/td-p/32830&lt;/A&gt;. It seems (from my understanding) that I need to make the API call using a Java class and then, somehow, invoke that object from js on the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;.bpmn&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;file. So:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Could you please tell me where do I have to create this class in my Maven project? Is it a package? Could you tell me the exact steps on how to create it?&lt;/LI&gt;&lt;LI&gt;Could you paste here the exact code that implements this class?&lt;/LI&gt;&lt;LI&gt;Could you tell me how to invoke the java object from js in the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;.bpmn&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;file?&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;IMPORTANT:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;I need to log the API Call response some way. It could be either log that you want, but I need to know if Google is answering me accordingly.&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Thu, 04 Feb 2021 13:58:18 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/how-to-make-an-api-call-to-a-rest-ws-from-an-alfresco-workflow/m-p/142867#M37985</guid>
      <dc:creator>tlosada</dc:creator>
      <dc:date>2021-02-04T13:58:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to make an API call to a REST ws from an Alfresco workflow?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/how-to-make-an-api-call-to-a-rest-ws-from-an-alfresco-workflow/m-p/142868#M37986</link>
      <description>&lt;P&gt;Hi, thanks for reading the tutorial! You've posted almost the exact question here already and twice on stackoverflow.&lt;/P&gt;
&lt;P&gt;I tried to help you out on SO. The summary of my advice is to not use JavaScript to make this call from Activiti but instead use a Java delegate. I included some code snippets.&lt;/P&gt;
&lt;P&gt;In case you ever do need to make a remote API call from a web script rather than a workflow, I've included how to define the connector and make that call as well.&lt;/P&gt;</description>
      <pubDate>Sat, 06 Feb 2021 23:31:43 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/how-to-make-an-api-call-to-a-rest-ws-from-an-alfresco-workflow/m-p/142868#M37986</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2021-02-06T23:31:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to make an API call to a REST ws from an Alfresco workflow?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/how-to-make-an-api-call-to-a-rest-ws-from-an-alfresco-workflow/m-p/142869#M37987</link>
      <description>&lt;P&gt;Thank you very much and excuse me for all of my questions. I am new to Alfresco and not a developer jeje.&lt;/P&gt;&lt;P&gt;This is the answer I wanted! More on this video:&lt;BR /&gt;&lt;/P&gt;&lt;DIV class="video-embed-center video-embed"&gt;&lt;IFRAME class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fphju1Lru7kI%3Ffeature%3Doembed&amp;amp;display_name=YouTube&amp;amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dphju1Lru7kI&amp;amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fphju1Lru7kI%2Fhqdefault.jpg&amp;amp;key=4d41183506e742d98595f664850327e2&amp;amp;type=text%2Fhtml&amp;amp;schema=youtube" width="200" height="112" scrolling="no" title="Alfresco Summit 2013: Power Up your Activiti Workflow with Java Delegates" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"&gt;&lt;/IFRAME&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Feb 2021 13:36:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/how-to-make-an-api-call-to-a-rest-ws-from-an-alfresco-workflow/m-p/142869#M37987</guid>
      <dc:creator>tlosada</dc:creator>
      <dc:date>2021-02-08T13:36:17Z</dc:date>
    </item>
  </channel>
</rss>

