I would like to ask if anybody knows how to create new item in a document library using Lists.UpdateListItems web service. The only googled result says it is not possible, but there should be some way. When I use Nintex "Create an item" action it works seamlessly.
By this way we create new prefilled MS Word documents. The document is created from content type document template and metadata fields are inserted into document (using Quick Parts).
Now I'm facing request of generating documents with a table containing almost 500 fields (columns). It would be cumbersome to create them using "Create an item" action so I created loop generating part of a SOAP message. The final SOAP:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>DocLibrary</listName>
<updates>
<Batch OnError="Continue" ListVersion="1">
<Method ID="1" Cmd="New">
<Field Name="ID">New</Field>
<Field Name="ContentType">MyCT</Field>
<Field Name="FileLeafRef">{WorkflowVariable:DocURL}</Field>
<Field Name="Title">{WorkflowVariable:DocName}</Field>
{WorkflowVariable:SOAP}
</Method>
</Batch>
</updates>
</UpdateListItems>
</soap:Body>
</soap:Envelope>
But I'm stuck on FileLeafRef tag. It should contain full URL to a new document but when I pass it I get result:
The operation failed because an unexpected error occurred. (Result Code: 0x80020005)
When I don't pass the tag at all it creates an item with ID in its name but I doesn't generate document.
I tried both cases also without passing any aditional fields (generated SOAP).
Any clue?
Thank you