<?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: Calling Web Service From Javascript in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/calling-web-service-from-javascript/m-p/259739#M212869</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi, we are sucessfully calling web services from JS, using this: &lt;/SPAN&gt;&lt;A href="http://www.unorganizedmachines.com/site/software-and-technology/34-software-development/97-calling-web-services-from-alfresco-web-scripts" rel="nofollow noopener noreferrer"&gt;http://www.unorganizedmachines.com/site/software-and-technology/34-software-development/97-calling-web-services-from-alfresco-web-scripts&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What worked for us is "second option" in sample code, that is: using XMLHttpRequest works ok, SimpleHttpConnection didn't work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Paulo Cesar Emerique&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;eSense Tecnologia&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Brazil&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 17 Feb 2012 12:12:09 GMT</pubDate>
    <dc:creator>paulo_emerique</dc:creator>
    <dc:date>2012-02-17T12:12:09Z</dc:date>
    <item>
      <title>Calling Web Service From Javascript</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/calling-web-service-from-javascript/m-p/259737#M212867</link>
      <description>I've read how with Surf webscript controllers can call web services from Javascript code using remote.connect().I want to be able to call an external non-alfresco REST web service from a rule applied to a folder that is based on a Javascript action.I'm not sure, but it seems like using the Surf fram</description>
      <pubDate>Mon, 02 May 2011 17:31:14 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/calling-web-service-from-javascript/m-p/259737#M212867</guid>
      <dc:creator>ghernando</dc:creator>
      <dc:date>2011-05-02T17:31:14Z</dc:date>
    </item>
    <item>
      <title>Re: Calling Web Service From Javascript</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/calling-web-service-from-javascript/m-p/259738#M212868</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Old thread, but thought I'd reply anyway…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Surf and web scripts are completely unrelated to rules other than the fact that both can have their logic expressed in JavaScript.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Server-side JavaScript can wrap Alfresco classes. So one way to do what you are talking about is to call the external service from Java and then expose that class and one or more methods to JavaScript much in the same way that the "search" root object (and many others) in JavaScript is just a thin wrapper around a Java-based service.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Feb 2012 21:01:50 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/calling-web-service-from-javascript/m-p/259738#M212868</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2012-02-15T21:01:50Z</dc:date>
    </item>
    <item>
      <title>Re: Calling Web Service From Javascript</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/calling-web-service-from-javascript/m-p/259739#M212869</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi, we are sucessfully calling web services from JS, using this: &lt;/SPAN&gt;&lt;A href="http://www.unorganizedmachines.com/site/software-and-technology/34-software-development/97-calling-web-services-from-alfresco-web-scripts" rel="nofollow noopener noreferrer"&gt;http://www.unorganizedmachines.com/site/software-and-technology/34-software-development/97-calling-web-services-from-alfresco-web-scripts&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What worked for us is "second option" in sample code, that is: using XMLHttpRequest works ok, SimpleHttpConnection didn't work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Paulo Cesar Emerique&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;eSense Tecnologia&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Brazil&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Feb 2012 12:12:09 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/calling-web-service-from-javascript/m-p/259739#M212869</guid>
      <dc:creator>paulo_emerique</dc:creator>
      <dc:date>2012-02-17T12:12:09Z</dc:date>
    </item>
    <item>
      <title>Re: Calling Web Service From Javascript</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/calling-web-service-from-javascript/m-p/259740#M212870</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I think another possible approach is to expose a new Javascript object as suggested by jpotts:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;bean id="yourService" parent="baseJavaScriptExtension"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class="com.yourcompany.alfresco.services.ScriptableYourServiceWrapper"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="extensionName"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;value&amp;gt;yourService&amp;lt;/value&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/property&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="yourService" ref="externalServicesClient" /&amp;gt;&lt;BR /&gt;&amp;lt;/bean&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;and then, as in my case, use the Apache CXF framework &lt;/SPAN&gt;&lt;A href="http://cxf.apache.org/" rel="nofollow noopener noreferrer"&gt;http://cxf.apache.org/&lt;/A&gt;&lt;SPAN&gt; which is built on Spring and provides you more flexibility.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The ScriptableYourServiceWrapper is nothing but this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;public class ScriptableYourServiceWrapper extends BaseScopableProcessorExtension implements YourService{&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private yourService yourServiceClient;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… your methods&lt;BR /&gt;&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;and the YourServiceManager is something like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;public class yourServiceManager implements YourService{&lt;BR /&gt;&lt;BR /&gt;private YourService yourServiceServiceImpl;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void setYourService(YourService yourServiceClient) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.yourServiceServiceImpl = yourServiceClient;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;The context for the external service is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;BR /&gt;&amp;lt;beans xmlns="&lt;A href="http://www.springframework.org/schema/beans" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/beans&lt;/A&gt;"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:xsi="&lt;A href="http://www.w3.org/2001/XMLSchema-instance" rel="nofollow noopener noreferrer"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/A&gt;" xmlns:context="&lt;A href="http://www.springframework.org/schema/context" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/context&lt;/A&gt;"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:jaxws="&lt;A href="http://cxf.apache.org/jaxws" rel="nofollow noopener noreferrer"&gt;http://cxf.apache.org/jaxws&lt;/A&gt;"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xsi:schemaLocation="&lt;A href="http://www.springframework.org/schema/beans" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/beans&lt;/A&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/beans/spring-beans-3.0.xsd&lt;/A&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://www.springframework.org/schema/context" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/context&lt;/A&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://www.springframework.org/schema/context/spring-context-3.0.xsd" rel="nofollow noopener noreferrer"&gt;http://www.springframework.org/schema/context/spring-context-3.0.xsd&lt;/A&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://cxf.apache.org/jaxws" rel="nofollow noopener noreferrer"&gt;http://cxf.apache.org/jaxws&lt;/A&gt; &lt;A href="http://cxf.apache.org/schemas/jaxws.xsd" rel="nofollow noopener noreferrer"&gt;http://cxf.apache.org/schemas/jaxws.xsd&lt;/A&gt;"&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;context:annotation-config /&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;jaxws:client id="yourServiceCxfClient"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; serviceClass="yourServiceWebServiceSEIClass"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; address="${yourServiceWebServiceURL.wsdl.url}" /&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id="yourServiceService"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class="yourServiceServiceImpl"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="cxfYourServiceClient" ref="yourServiceCxfClient" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/bean&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean id="externalServicesClient"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class="yourServiceManager"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="yourService" ref="yourServiceService" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/bean&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;/beans&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;The stubs for the service are obtained form the WSDL using a WSDL2Java command which gives you the Service Endpoint Interface to set as service class in the serviceClass property into the jaxws xml fragment.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Once the context is created, from javascript you only have to invoke:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;yourService.yourMethod()&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Andrea&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2012 11:39:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/calling-web-service-from-javascript/m-p/259740#M212870</guid>
      <dc:creator>abarisone</dc:creator>
      <dc:date>2012-05-22T11:39:17Z</dc:date>
    </item>
  </channel>
</rss>

