The Ouvvi Queue Data Source is a special read-only
data provider that reads the context
value from the Ouvvi project queue.
You would use this project in a traditional message based integration where an XML document is posted to an Ouvvi Project and the Ouvvi Data Source project at runtime receives this message as the data payload. Connected to a Data Source that supports Incremental Sync a single item can be quickly added or updated on the target system.
The Ouvvi Data Source is similar to the XML data provider except that the document is embedded in the Document property.
The XML Document to process at runtime inside Ouvvi this document is replaced with the Ouvvi Queue Context
value.
You can enter a default document here to aid development
For example this provider might be used to update a single product item against a SQL database.
<NewDataSet>
<Data>
<ProductID>1</ProductID>
<ProductName>Chai</ProductName>
<SupplierID>1</SupplierID>
<CategoryID>1</CategoryID>
<QuantityPerUnit>10 boxes x 20 bags</QuantityPerUnit>
<UnitPrice>10</UnitPrice>
<UnitsInStock>0</UnitsInStock>
<ReorderLevel>10</ReorderLevel>
<Discontinued>false</Discontinued>
<Updated>2015-12-08T12:02:13+00:00</Updated>
</Data>
</NewDataSet>
The XPath expression to the node item collection. i.e. //Data
If you need to register XML Namespaces for your document you can add XML Namespaces and prefixes in this collection.
Add to the Columns collection specifying the DataType, Name and the XPath Expression. XML XPath expressions are case-sensitive
.
This project would be added to a new project in Ouvvi and then you would HTTP POST the XML document to the project Start API endpoint.
If these projects are processing a single item then you can use Normal
mode in Ouvvi so that they are executed in parallel to improve performance further.
Multiple Ouvvi Project Steps will receive the same XML document so if this needs processing in multiple stages i.e. Invoice and InvoiceLines this is a good candidate.
Setting Save Failures property on the Ouvvi Step will write the message to the Ouvvi Failure Queue where the job can be restarted should and error occur.
To start your Ouvvi project POST
your XML document to the Ouvvi project start Uri http://<ouvviuri>/api/projects/start/<projectid>
To do this with PowerShell 3.0 use the Invoke-RestMethod
Cmdlet.
Invoke-RestMethod -Method POST -ContentType text/xml -InFile Product.xml -UseDefaultCredentials -Uri http://localhost:8080/api/projects/start/19
You can also post a Json document to Ouvvi and this will be converted into an XML document at runtime via
Newtonsoft.Json.JsonConvert.DeserializeXmlNode
method.