<?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: Invoke activiti-rest with CXF WebClient in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126983#M89335</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Okay, that clears up a lot… I was referring to the new API-impelementation, which has the "decoding" built in. Seems like the old API doesn't have this feature built in. You can:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1) Upgrade to 5.13&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2) patch that specific resource with "decode" functionality before using the attribute-value&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3) Try convincing Restlet to de decoding of the URL. I saw some articles on slashdot/google that go into this, so I'm guessing maybe there is a generic "fix" you can do by configuring rest let&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 18 Jul 2013 10:02:12 GMT</pubDate>
    <dc:creator>frederikherema1</dc:creator>
    <dc:date>2013-07-18T10:02:12Z</dc:date>
    <item>
      <title>Invoke activiti-rest with CXF WebClient</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126978#M89330</link>
      <description>Hi, &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; when I use CXF WebClient to invoke the http://localhost:8080/activiti-rest/service/process-definition/test:1:401 REST WebService, The CXF WebClient change The URI: http://localhost:8080/activiti-rest/service/process-definition/test%3A1%3A401, the activiti-rest module could not find the proc</description>
      <pubDate>Thu, 18 Jul 2013 02:32:15 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126978#M89330</guid>
      <dc:creator>yangenxiong</dc:creator>
      <dc:date>2013-07-18T02:32:15Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke activiti-rest with CXF WebClient</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126979#M89331</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;That's strange, all URL-parameters from the rest are decoded before being used:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt; /**&lt;BR /&gt;&amp;nbsp;&amp;nbsp; * Get a request attribute value, decoded. &lt;BR /&gt;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp; protected String getAttribute(String name) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return decode((String) getRequest().getAttributes().get(name));&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt; protected String decode(String string) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(string != null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return URLDecoder.decode(string, "UTF-8");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (UnsupportedEncodingException uee) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new IllegalStateException("JVM does not support UTF-8 encoding.", uee);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried running our test-suite with a forced encoded URL and it still works:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt; /**&lt;BR /&gt;&amp;nbsp; * Test getting a single process definition.&lt;BR /&gt;&amp;nbsp; * GET repository/process-definitions/{processDefinitionResource}&lt;BR /&gt;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp; @Deployment(resources={"org/activiti/rest/api/repository/oneTaskProcess.bpmn20.xml"})&lt;BR /&gt;&amp;nbsp; public void testGetProcessDefinition() throws Exception {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientResource client = getAuthenticatedClient(RestUrls.createRelativeResourceUrl(RestUrls.URL_PROCESS_DEFINITION, encode(processDefinition.getId())));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Representation response = client.get();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Check "OK" status&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertEquals(Status.SUCCESS_OK, client.getResponse().getStatus());&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;What is the actual error-desciption in the JSON-response?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jul 2013 08:07:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126979#M89331</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2013-07-18T08:07:47Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke activiti-rest with CXF WebClient</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126980#M89332</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;By the way, I see your URL is "process-definition/id" and not "process-definitions/id"…&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jul 2013 08:08:34 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126980#M89332</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2013-07-18T08:08:34Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke activiti-rest with CXF WebClient</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126981#M89333</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks frederikheremans, I request this URL: /process-definition/{processDefinitionId}/form, and it will "Returns a process definition's form"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I deploy the activiti-rest.war to tomcat server, and I got this exception message: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;org.activiti.engine.ActivitiException: no deployed process definition found with id 'formTest%3A1%3A403'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.engine.impl.persistence.deploy.DeploymentCache.findDeployedProcessDefinitionById(DeploymentCache.java:51)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.engine.impl.cmd.GetStartFormCmd.execute(GetStartFormCmd.java:40)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.engine.impl.cmd.GetStartFormCmd.execute(GetStartFormCmd.java:30)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I see the activiti-rest module source code, there is some code in org.activiti.rest.api.process.ProcessDefinitionFormResource.java: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(authenticate() == false) return null;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String processDefinitionId = (String) getRequest().getAttributes().get("processDefinitionId");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object form = ActivitiUtil.getFormService().getRenderedStartForm(processDefinitionId);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/java&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is WebClient use URLEncoder.encode, but activiti-rest module no use URLDecoder.decode.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jul 2013 09:10:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126981#M89333</guid>
      <dc:creator>yangenxiong</dc:creator>
      <dc:date>2013-07-18T09:10:52Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke activiti-rest with CXF WebClient</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126982#M89334</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;BTW, I use activiti version is 5.10, and CXF version is 2.2.6.&amp;nbsp; &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jul 2013 09:12:01 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126982#M89334</guid>
      <dc:creator>yangenxiong</dc:creator>
      <dc:date>2013-07-18T09:12:01Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke activiti-rest with CXF WebClient</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126983#M89335</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Okay, that clears up a lot… I was referring to the new API-impelementation, which has the "decoding" built in. Seems like the old API doesn't have this feature built in. You can:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1) Upgrade to 5.13&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2) patch that specific resource with "decode" functionality before using the attribute-value&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3) Try convincing Restlet to de decoding of the URL. I saw some articles on slashdot/google that go into this, so I'm guessing maybe there is a generic "fix" you can do by configuring rest let&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jul 2013 10:02:12 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126983#M89335</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2013-07-18T10:02:12Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke activiti-rest with CXF WebClient</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126984#M89336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you very much, frederikheremans!&amp;nbsp; &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt; &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jul 2013 10:09:48 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/invoke-activiti-rest-with-cxf-webclient/m-p/126984#M89336</guid>
      <dc:creator>yangenxiong</dc:creator>
      <dc:date>2013-07-18T10:09:48Z</dc:date>
    </item>
  </channel>
</rss>

