Copy document to another library with custom column data and workflow data

  • 23 February 2018
  • 2 replies
  • 22 views

Badge +1

I would like to setup a workflow to copy a document, some of the custom columns with the document, and a couple of workflow variables that are assigned values dynamically during the workflow, all to another document library in another site collection. I was trying to use the copyitemsinto method of the Copy web service. The document gets copied over but none of the extra data gets added to the columns in the document library. The values do appear in the workflow history comments when I use the Log to History List. What is the best method to accomplish?


2 replies

Badge +1

My soap action below:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://schemas.microsoft.com/sharepoint/soap/">
  <soap:Header>
  </soap:Header>
  <soap:Body>
    <m:CopyIntoItems>
      <m:SourceUrl>{WorkflowVariable:varSourceUrl}</m:SourceUrl>
      <m:DestinationUrls>
        <m:string>{WorkflowVariable:varDestinationUrl}{ItemProperty:FileLeafRef}</m:string>
      </m:DestinationUrls>
      <m:Fields>
        <m:FieldInformation Type="string" DisplayName="TransferID" InternalName="TransferID" Value="{WorkflowVariable:varGuid}">
        </m:FieldInformation>
        <m:FieldInformation Type="string" DisplayName="OriginalID" InternalName="OriginalID" Value="{WorkflowVariable:varItemID}">
        </m:FieldInformation>
        <m:FieldInformation Type="string" DisplayName="OriginalUrl" InternalName="OriginalUrl" Value="{WorkflowVariable:varSourceUrl}">
        </m:FieldInformation>
        <m:FieldInformation Type="string" DisplayName="Source Modified By" InternalName="Source_x0020_Modified_x0020_By" Value="{WorkflowVariable:varModifiedBy}">
        </m:FieldInformation>
      </m:Fields>
      <m:Stream>base64Binary</m:Stream>
    </m:CopyIntoItems>
  </soap:Body>
</soap:Envelope>

Badge

Copy Document Library item to different site collection - using webservice copy.asmx is not working. Same site working fine. Note: Destination site doesn't have Nintex Feature installed.
Source Site Details:
SharePoint 2013 On Premise with Nintex Workflow 2013
Destination Site: SharePoint Office 365. Note: Nintex Feature is not activated.

Destination URL: https://share.novartis.net/sites/xxxx/TestDoc/abc.pdf
Source URL: https://share.nibr.novartis.net/xxxx/ia/TestDoc/abc.pdf
File Name: abc.pdf

Steps Taken:
1. Query List: To Get - Encoded Absolute URL * and Name(File Name)*.
2. Set WF Variable: Destination Doc Library Link
3. Set WF Variable: Destination Doc Libray URL - Destination Doc Library Link + Name(File Name)
4. Call web service.
 a. web URL/_vti_bin/copy.asmx
 b. web method: copyintoitemslocal/copyintoitems
 c. Source and Destination URL/ Along with Field details for - copyintoitems

But copying working fine within the same site collection but not working for different site collection.
Am I missing any thing here. 
Anyone please help.

Reply