<?xml version="1.0" encoding="UTF-8"?>











<rss version="2.0">
  <channel>
    <title>Amsetwiki: Amset5writecontent1</title>
    <link>http://socket3.leeds.ac.uk:8080/amsetwiki/</link>
    <description>Wiki for JISC AMSeT Project</description>
    <language>en-us</language>
    <generator>JSPWiki 2.8.1</generator>
    <item>
      <link>http://socket3.leeds.ac.uk:8080/amsetwiki/Wiki.jsp?page=Amset5writecontent1&amp;version=-1</link>
      <title>Amset5writecontent1, version -1</title>
      <description>clayton created this page on Sun Sep 06 13:35:16 BST 2009:&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h4 id="section-Amset5writecontent1-WorkflowNameAmset5writecontent1"&gt;Workflow Name: amset5writecontent1&lt;a class="hashlink" href="#section-Amset5writecontent1-WorkflowNameAmset5writecontent1"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;h4 id="section-Amset5writecontent1-ConstituentServicesAuthenticationServiceRepositoryServiceInitCreateContentWSDateTimeWS"&gt;Constituent Services: AuthenticationService, RepositoryService, InitCreateContentWS, DateTimeWS&lt;a class="hashlink" href="#section-Amset5writecontent1-ConstituentServicesAuthenticationServiceRepositoryServiceInitCreateContentWSDateTimeWS"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;h4 id="section-Amset5writecontent1-TechnicalNotes"&gt;Technical Notes&lt;a class="hashlink" href="#section-Amset5writecontent1-TechnicalNotes"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Platform: GlassFishESB V2.1, NetBeans IDE 6.5.1 (Build 200905151554)&lt;br /&gt;
Java: 1.6.0_12; Java HotSpot(TM) Client VM 11.2-b01&lt;br /&gt;
System: Windows XP version 5.1 running on x86; Cp1252; en_GB (nb).
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Alfresco Labs 3.1 Final running on remote server, 64-bit Java 1.6.0_13, Tomcat 6 on Red Hat Enterprise Linux 5.
&lt;/p&gt;
&lt;p /&gt;
&lt;h4 id="section-Amset5writecontent1-WorkflowDescription"&gt;Workflow Description&lt;a class="hashlink" href="#section-Amset5writecontent1-WorkflowDescription"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;This workflow writes content to the node created in the previous one.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;The neat thing about using the CML statements approach to performing repository operations is that the BPEL application is identical apart from the content of the SOAP initiation message. This is given below.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code snippet 5.1.  Worflow input SOAP message.&lt;/b&gt;
&lt;/p&gt;
&lt;div class="prettify"&gt;
&lt;pre&gt;
&amp;lt;soapenv:Envelope xsi:schemaLocation=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns:soapenv=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot; xmlns:init=&amp;quot;http://j2ee.netbeans.org/wsdl/amset5createcontent1/InitCreateContentWS&amp;quot; xmlns:ns=&amp;quot;http://www.alfresco.org/ws/cml/1.0&amp;quot; xmlns:ns1=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;
  &amp;lt;soapenv:Body&amp;gt;
    &amp;lt;init:InitCreateContentWSOperation&amp;gt;
      &amp;lt;username&amp;gt;admin&amp;lt;/username&amp;gt;
      &amp;lt;password&amp;gt;adminPassword&amp;lt;/password&amp;gt;
      &amp;lt;updateRequest&amp;gt;
        &amp;lt;ns:writeContent&amp;gt;
          &amp;lt;ns:property&amp;gt;{http://www.alfresco.org/model/content/1.0}content&amp;lt;/ns:property&amp;gt;
          &amp;lt;!--This is the content to be written in Base64 encoded binary format.--&amp;gt;
          &amp;lt;ns:content&amp;gt;TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=&amp;lt;/ns:content&amp;gt;
          &amp;lt;ns:format&amp;gt;
            &amp;lt;ns1:mimetype&amp;gt;text/plain&amp;lt;/ns1:mimetype&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:encoding&amp;gt;UTF-8&amp;lt;/ns1:encoding&amp;gt;
          &amp;lt;/ns:format&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;workspace&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;SpacesStore&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;!--This is the UUID of the node created in the previous workflow.--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;5444c165-8395-42a4-8579-13f4caef5cf4&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:where&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where_id&amp;gt;&amp;lt;/ns:where_id&amp;gt;
        &amp;lt;/ns:writeContent&amp;gt;
      &amp;lt;/updateRequest&amp;gt;
    &amp;lt;/init:InitCreateContentWSOperation&amp;gt;
  &amp;lt;/soapenv:Body&amp;gt;
&amp;lt;/soapenv:Envelope&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p /&gt;
&lt;h4 id="section-Amset5writecontent1-AlfrescoInputOutput"&gt;Alfresco Input/Output&lt;a class="hashlink" href="#section-Amset5writecontent1-AlfrescoInputOutput"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;Code snippet 5.2.  RepositoryService.update() SOAP input message.&lt;/b&gt;
&lt;/p&gt;
&lt;div class="prettify"&gt;
&lt;pre&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot;&amp;gt;
    &amp;lt;SOAP-ENV:Header&amp;gt;
        &amp;lt;Security xmlns=&amp;quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&amp;quot;&amp;gt;
            &amp;lt;wsu:Timestamp xmlns:wsu=&amp;quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd&amp;quot;&amp;gt;
                &amp;lt;wsu:Created&amp;gt;2009-08-17T13:40:15.03+00:00&amp;lt;/wsu:Created&amp;gt;
                &amp;lt;wsu:Expires&amp;gt;2009-08-17T13:44:15.00+00:00&amp;lt;/wsu:Expires&amp;gt;
            &amp;lt;/wsu:Timestamp&amp;gt;
            &amp;lt;UsernameToken&amp;gt;
                &amp;lt;Username&amp;gt;admin&amp;lt;/Username&amp;gt;
                &amp;lt;Password Id=&amp;quot;&amp;quot; Type=&amp;quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText&amp;quot;&amp;gt;TICKET_3c89dc4f14b0f61e55bc4d8851665af6f25a6aea&amp;lt;/Password&amp;gt;
            &amp;lt;/UsernameToken&amp;gt;
        &amp;lt;/Security&amp;gt;
    &amp;lt;/SOAP-ENV:Header&amp;gt;
    &amp;lt;SOAP-ENV:Body&amp;gt;
        &amp;lt;update
            xmlns=&amp;quot;http://www.alfresco.org/ws/service/repository/1.0&amp;quot; xmlns:msgns=&amp;quot;http://www.alfresco.org/ws/service/repository/1.0&amp;quot;&amp;gt;
            &amp;lt;ns0:statements
                xmlns:init=&amp;quot;http://j2ee.netbeans.org/wsdl/amset5createcontent1/InitCreateContentWS&amp;quot;
                xmlns:msgns=&amp;quot;http://j2ee.netbeans.org/wsdl/amset5createcontent1/InitCreateContentWS&amp;quot;
                xmlns:ns=&amp;quot;http://www.alfresco.org/ws/cml/1.0&amp;quot;
                xmlns:ns0=&amp;quot;http://www.alfresco.org/ws/service/repository/1.0&amp;quot; xmlns:ns1=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;
                &amp;lt;ns:writeContent&amp;gt;
                    &amp;lt;ns:property&amp;gt;{http://www.alfresco.org/model/content/1.0}content&amp;lt;/ns:property&amp;gt;
                    &amp;lt;ns:content&amp;gt;TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=&amp;lt;/ns:content&amp;gt;
                    &amp;lt;ns:format&amp;gt;
                        &amp;lt;ns1:mimetype&amp;gt;text/plain&amp;lt;/ns1:mimetype&amp;gt;
                        &amp;lt;ns1:encoding&amp;gt;UTF-8&amp;lt;/ns1:encoding&amp;gt;
                    &amp;lt;/ns:format&amp;gt;
                    &amp;lt;ns:where&amp;gt;
                        &amp;lt;ns1:nodes&amp;gt;
                            &amp;lt;ns1:store&amp;gt;
                                &amp;lt;ns1:scheme&amp;gt;workspace&amp;lt;/ns1:scheme&amp;gt;
                                &amp;lt;ns1:address&amp;gt;SpacesStore&amp;lt;/ns1:address&amp;gt;
                            &amp;lt;/ns1:store&amp;gt;
                            &amp;lt;ns1:uuid&amp;gt;5444c165-8395-42a4-8579-13f4caef5cf4&amp;lt;/ns1:uuid&amp;gt;
                            &amp;lt;ns1:path/&amp;gt;
                        &amp;lt;/ns1:nodes&amp;gt;
                        &amp;lt;ns1:store&amp;gt;
                            &amp;lt;ns1:scheme/&amp;gt;
                            &amp;lt;ns1:address/&amp;gt;
                        &amp;lt;/ns1:store&amp;gt;
                        &amp;lt;ns1:query&amp;gt;
                            &amp;lt;ns1:language/&amp;gt;
                            &amp;lt;ns1:statement/&amp;gt;
                        &amp;lt;/ns1:query&amp;gt;
                    &amp;lt;/ns:where&amp;gt;
                    &amp;lt;ns:where_id/&amp;gt;
                &amp;lt;/ns:writeContent&amp;gt;
            &amp;lt;/ns0:statements&amp;gt;
        &amp;lt;/update&amp;gt;
    &amp;lt;/SOAP-ENV:Body&amp;gt;
&amp;lt;/SOAP-ENV:Envelope&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Code snippet 5.3.  RepositoryService.update() SOAP output message.&lt;/b&gt;
&lt;/p&gt;
&lt;div class="prettify"&gt;
&lt;pre&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;soapenv:Envelope
    xmlns:soapenv=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot;
    xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&amp;gt;
    &amp;lt;soapenv:Body&amp;gt;
        &amp;lt;updateResponse xmlns=&amp;quot;http://www.alfresco.org/ws/service/repository/1.0&amp;quot;&amp;gt;
            &amp;lt;updateReturn&amp;gt;
                &amp;lt;statement&amp;gt;writeContent&amp;lt;/statement&amp;gt;
                &amp;lt;updateCount xsi:nil=&amp;quot;true&amp;quot;/&amp;gt;
                &amp;lt;sourceId xsi:nil=&amp;quot;true&amp;quot;/&amp;gt;
                &amp;lt;source&amp;gt;
                    &amp;lt;ns1:store xmlns:ns1=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;
                        &amp;lt;ns1:scheme&amp;gt;workspace&amp;lt;/ns1:scheme&amp;gt;
                        &amp;lt;ns1:address&amp;gt;SpacesStore&amp;lt;/ns1:address&amp;gt;
                    &amp;lt;/ns1:store&amp;gt;
                    &amp;lt;ns2:uuid xmlns:ns2=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;5444c165-8395-42a4-8579-13f4caef5cf4&amp;lt;/ns2:uuid&amp;gt;
                    &amp;lt;ns3:path xmlns:ns3=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;/app:company_home/cm:Waffle_x0020_Bus_x0020_Workflows/cm:What_x0020_is_x0020_the_x0020_Protein_x0020_Folding_x0020_Problem/cm:contains&amp;lt;/ns3:path&amp;gt;
                &amp;lt;/source&amp;gt;
                &amp;lt;destination&amp;gt;
                    &amp;lt;ns4:store xmlns:ns4=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;
                        &amp;lt;ns4:scheme&amp;gt;workspace&amp;lt;/ns4:scheme&amp;gt;
                        &amp;lt;ns4:address&amp;gt;SpacesStore&amp;lt;/ns4:address&amp;gt;
                    &amp;lt;/ns4:store&amp;gt;
                    &amp;lt;ns5:uuid xmlns:ns5=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;5444c165-8395-42a4-8579-13f4caef5cf4&amp;lt;/ns5:uuid&amp;gt;
                    &amp;lt;ns6:path xmlns:ns6=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;/app:company_home/cm:Waffle_x0020_Bus_x0020_Workflows/cm:What_x0020_is_x0020_the_x0020_Protein_x0020_Folding_x0020_Problem/cm:contains&amp;lt;/ns6:path&amp;gt;
                &amp;lt;/destination&amp;gt;
            &amp;lt;/updateReturn&amp;gt;
        &amp;lt;/updateResponse&amp;gt;
    &amp;lt;/soapenv:Body&amp;gt;
&amp;lt;/soapenv:Envelope&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;h4 id="section-Amset5writecontent1-Alfresco"&gt;Alfresco&lt;a class="hashlink" href="#section-Amset5writecontent1-Alfresco"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;If we go back to Alfresco, the screenshot below shows that there is now 0.26 kB of data in the node which was previously empty.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Figure 5.1.  The new node with content.&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;&lt;table border="0" class="imageplugin" align="left"&gt;
&lt;tr&gt;&lt;td&gt;&lt;img src="/amsetwiki/attach/Amset5writecontent1/writecontent1.png" height="330" width="1029" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Clicking the node's hyperlink reveals the content:
&lt;/p&gt;
&lt;p /&gt;
&lt;pre&gt;
Man is distinguished, not only by his reason, but by this singular passion from other animals, 
which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of
knowledge, exceeds the short vehemence of any carnal pleasure.
&lt;/pre&gt;
&lt;p&gt;(Hobbes)
&lt;/p&gt;</description>
      <enclosure url="http://socket3.leeds.ac.uk:8080/amsetwiki/attach/Amset5writecontent1/writecontent1.png" length="13261" type="image/png" />
      <pubDate>Sun, 06 Sep 2009 12:35:16 GMT</pubDate>
    </item>
  </channel>
</rss>

