| POST | /api/DMS/AddUploadFile |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
/**
* Add a uploadfile with metadata.
*/
@Api(Description="Add a uploadfile with metadata.")
open class AddUploadFile
{
/**
* Registration profile ID
*/
@ApiMember(Description="Registration profile ID", IsRequired=true)
open var RegistrationProfileID:UUID? = null
/**
* Registration navigation path
*/
@ApiMember(Description="Registration navigation path")
open var NavigationPath:String? = null
/**
* File name
*/
@ApiMember(Description="File name", IsRequired=true)
open var FileName:String? = null
/**
* File date
*/
@ApiMember(Description="File date", IsRequired=true)
open var FileDate:Date? = null
/**
* File content
*/
@ApiMember(Description="File content", IsRequired=true)
open var FileContent:ByteArray = ByteArray(0)
/**
* File description
*/
@ApiMember(Description="File description", IsRequired=true)
open var Description:String? = null
/**
* Keep document in uploads (false; register immediately)
*/
@ApiMember(Description="Keep document in uploads (false; register immediately)")
open var DocumentUpload:Boolean? = null
/**
* Source of the file
*/
@ApiMember(Description="Source of the file")
open var Source:String? = null
/**
* MetaDataFields
*/
@ApiMember(Description="MetaDataFields")
open var MetaDataFields:ArrayList<MetaDataField>? = null
/**
* Document ID
*/
@ApiMember(Description="Document ID")
open var DocumentID:UUID? = null
/**
* Main Document ID
*/
@ApiMember(Description="Main Document ID")
open var MainDocumentID:UUID? = null
/**
* Sub Document IDs
*/
@ApiMember(Description="Sub Document IDs")
open var SubDocumentIDs:ArrayList<UUID>? = null
}
@DataContract
open class MetaDataField
{
@DataMember
open var ID:UUID? = null
@DataMember
open var DocumentVeldID:UUID? = null
@DataMember
open var Name:String? = null
@DataMember
open var Label:String? = null
@DataMember
open var Datatype:String? = null
@DataMember
open var PrintLabel:String? = null
@DataMember
open var Entity:String? = null
@DataMember
open var PrintValue:String? = null
@DataMember
open var RegistrationValue:String? = null
@DataMember
open var SPSiteColumnName:String? = null
@DataMember
open var ShadowName:String? = null
@DataMember
open var ShadowDatatype:String? = null
@DataMember
open var ShadowSPSiteColumnName:String? = null
@DataMember
open var ShadowSPSiteColumnRegistrationValue:String? = null
@DataMember
open var ShadowRegistrationValue:String? = null
@DataMember
open var IsKeyField:Boolean? = null
@DataMember
open var KopierenBijNieuweVersie:Boolean? = null
}
@DataContract
open class AddUploadFileResponse
{
@DataMember
open var DocumentId:UUID? = null
@DataMember
open var DocumentUploadId:Int? = null
@DataMember
open var DocumentNr:String? = null
@DataMember
open var Messages:InformationMessages? = null
}
open class InformationMessages : ArrayList<InformationMessageBase>(), IInformationMessages
{
}
open class InformationMessageBase : IInformationMessage
{
override var Type:MessageType? = null
override var Summary:String? = null
override var FullMessage:String? = null
override var FieldName:String? = null
override var KeepOpen:Boolean? = null
}
enum class MessageType(val value:Int)
{
Information(1),
Warning(2),
Error(3),
Success(4),
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/DMS/AddUploadFile HTTP/1.1
Host: test-do-services.klokgroep.nl
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<AddUploadFile xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document.Operations">
<Description>String</Description>
<DocumentID>00000000-0000-0000-0000-000000000000</DocumentID>
<DocumentUpload>false</DocumentUpload>
<FileContent>AA==</FileContent>
<FileDate>0001-01-01T00:00:00</FileDate>
<FileName>String</FileName>
<MainDocumentID>00000000-0000-0000-0000-000000000000</MainDocumentID>
<MetaDataFields xmlns:d2p1="http://schemas.datacontract.org/2004/07/IDB.API.DMS">
<d2p1:MetaDataField>
<d2p1:Datatype>String</d2p1:Datatype>
<d2p1:DocumentVeldID>00000000-0000-0000-0000-000000000000</d2p1:DocumentVeldID>
<d2p1:Entity>String</d2p1:Entity>
<d2p1:ID>00000000-0000-0000-0000-000000000000</d2p1:ID>
<d2p1:IsKeyField>false</d2p1:IsKeyField>
<d2p1:KopierenBijNieuweVersie>false</d2p1:KopierenBijNieuweVersie>
<d2p1:Label>String</d2p1:Label>
<d2p1:Name>String</d2p1:Name>
<d2p1:PrintLabel>String</d2p1:PrintLabel>
<d2p1:PrintValue>String</d2p1:PrintValue>
<d2p1:RegistrationValue>String</d2p1:RegistrationValue>
<d2p1:SPSiteColumnName>String</d2p1:SPSiteColumnName>
<d2p1:ShadowDatatype>String</d2p1:ShadowDatatype>
<d2p1:ShadowName>String</d2p1:ShadowName>
<d2p1:ShadowRegistrationValue>String</d2p1:ShadowRegistrationValue>
<d2p1:ShadowSPSiteColumnName>String</d2p1:ShadowSPSiteColumnName>
<d2p1:ShadowSPSiteColumnRegistrationValue>String</d2p1:ShadowSPSiteColumnRegistrationValue>
</d2p1:MetaDataField>
</MetaDataFields>
<NavigationPath>String</NavigationPath>
<RegistrationProfileID>00000000-0000-0000-0000-000000000000</RegistrationProfileID>
<Source>String</Source>
<SubDocumentIDs xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:guid>00000000-0000-0000-0000-000000000000</d2p1:guid>
</SubDocumentIDs>
</AddUploadFile>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<AddUploadFileResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document.Operations">
<DocumentId>00000000-0000-0000-0000-000000000000</DocumentId>
<DocumentNr>String</DocumentNr>
<DocumentUploadId>0</DocumentUploadId>
<Messages xmlns:d2p1="http://schemas.datacontract.org/2004/07/IDB.Core.Diagnostics.Interfaces">
<d2p1:InformationMessageBase i:nil="true" />
</Messages>
</AddUploadFileResponse>