SpringCMServiceSoap / DocumentGetById
ASP AutoIt C C (Unicode) C++ C++ (Unicode) C# DataFlex Delphi Foxpro Go Java Node.js Objective-C Perl PHP Extension PowerBuilder Powershell PureBasic Python CkPython Ruby SQL Server Swift TCL VB.NET VB6 VBScript Xojo
#include <C_CkXml.h>
#include <C_CkHttp.h>
#include <C_CkHttpResponse.h>
void ChilkatSample(void)
{
HCkXml xml;
const char *soapRequestBody;
const char *endpoint;
const char *soapAction;
const char *contentType;
HCkHttp http;
HCkHttpResponse resp;
HCkXml responseXml;
int statusCode;
const char *Id;
const char *Name;
const char *ObjectType;
const char *ParentFolderId;
const char *CreatedBy;
const char *CreatedDate;
const char *UpdatedBy;
const char *UpdatedDate;
const char *Security;
const char *Description;
const char *GroupName;
const char *FieldName;
const char *Value;
const char *HighValue;
const char *ExcludeFromSearch;
const char *SetName;
int SetNumber;
const char *DataType;
const char *CheckedOutUserId;
const char *CheckedOutUserName;
const char *ExpirationDate;
int FileSize;
int PDFFileSize;
const char *PDFConversion;
int PDFPageCount;
const char *IsFormDocument;
const char *Key;
const char *strSetNumber;
const char *MIMEType;
const char *Version;
xml = CkXml_Create();
CkXml_putTag(xml,"soapenv:Envelope");
CkXml_AddAttribute(xml,"xmlns:soapenv","http://schemas.xmlsoap.org/soap/envelope/");
CkXml_AddAttribute(xml,"xmlns:spr","http://www.springcm.com/atlas/webservices/v201308/scm/");
CkXml_UpdateChildContent(xml,"soapenv:Header","");
CkXml_UpdateChildContent(xml,"soapenv:Body|spr:DocumentGetById|spr:token","string");
CkXml_UpdateChildContent(xml,"soapenv:Body|spr:DocumentGetById|spr:documentId","string");
CkXml_UpdateChildContent(xml,"soapenv:Body|spr:DocumentGetById|spr:loadExtendedMetadata","true");
// In a SOAP HTTP request, including the XML declaration (<?xml version="1.0" encoding="UTF-8"?>) in the XML body is generally not required.
CkXml_putEmitXmlDecl(xml,FALSE);
soapRequestBody = CkXml_getXml(xml);
endpoint = "https://soapna11.springcm.com/atlas/webservices/v201308/springcmservice.asmx";
soapAction = "http://www.springcm.com/atlas/webservices/v201308/scm/DocumentGetById";
// For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml"
contentType = "text/xml";
http = CkHttp_Create();
CkHttp_ClearHeaders(http);
CkHttp_SetRequestHeader(http,"Content-Type",contentType);
CkHttp_SetRequestHeader(http,"SOAPAction",soapAction);
resp = CkHttp_PostXml(http,endpoint,soapRequestBody,"utf-8");
if (CkHttp_getLastMethodSuccess(http) == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
printf("Failed to send SOAP request.\n");
CkXml_Dispose(xml);
CkHttp_Dispose(http);
return;
}
// Get the XML response body.
responseXml = CkXml_Create();
CkHttpResponse_GetBodyXml(resp,responseXml);
statusCode = CkHttpResponse_getStatusCode(resp);
printf("response status code: %d\n",statusCode);
CkHttpResponse_Dispose(resp);
// If the status code does not indicate succcess, then show the response XML,
// which probably contains error information.
if (statusCode != 200) {
printf("%s\n",CkXml_getXml(responseXml));
CkXml_Dispose(xml);
CkHttp_Dispose(http);
CkXml_Dispose(responseXml);
return;
}
printf("%s\n",CkXml_getXml(responseXml));
// Parse the successful SOAP response XML.
// This is a sample of the response XML, but the namespace prefixes will be different.
// We can parse the result using "*" for the namespace prefixes (see below).
Id = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Id");
Name = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Name");
ObjectType = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:ObjectType");
ParentFolderId = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:ParentFolderId");
CreatedBy = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:CreatedBy");
CreatedDate = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:CreatedDate");
UpdatedBy = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:UpdatedBy");
UpdatedDate = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:UpdatedDate");
Security = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Security");
Description = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Description");
GroupName = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Metadata|*:SCMMetadata|*:GroupName");
FieldName = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Metadata|*:SCMMetadata|*:FieldName");
Value = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Metadata|*:SCMMetadata|*:Value");
HighValue = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Metadata|*:SCMMetadata|*:HighValue");
ExcludeFromSearch = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Metadata|*:SCMMetadata|*:ExcludeFromSearch");
SetName = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Metadata|*:SCMMetadata|*:SetName");
SetNumber = CkXml_GetChildIntValue(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Metadata|*:SCMMetadata|*:SetNumber");
DataType = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Metadata|*:SCMMetadata|*:DataType");
CheckedOutUserId = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:CheckedOutUserId");
CheckedOutUserName = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:CheckedOutUserName");
ExpirationDate = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:ExpirationDate");
FileSize = CkXml_GetChildIntValue(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:FileSize");
PDFFileSize = CkXml_GetChildIntValue(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:PDFFileSize");
PDFConversion = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:PDFConversion");
PDFPageCount = CkXml_GetChildIntValue(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:PDFPageCount");
IsFormDocument = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:IsFormDocument");
Key = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:CustomFormFields|*:SCMFormField|*:Key");
Value = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:CustomFormFields|*:SCMFormField|*:Value");
SetName = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:CustomFormFields|*:SCMFormField|*:SetName");
strSetNumber = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:CustomFormFields|*:SCMFormField|*:SetNumber");
MIMEType = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:MIMEType");
Version = CkXml_getChildContent(responseXml,"*:Body|*:DocumentGetByIdResponse|*:DocumentGetByIdResult|*:Version");
CkXml_Dispose(xml);
CkHttp_Dispose(http);
CkXml_Dispose(responseXml);
}
Request XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:spr="http://www.springcm.com/atlas/webservices/v201308/scm/">
<soapenv:Header/>
<soapenv:Body>
<spr:DocumentGetById>
<spr:token>string</spr:token>
<spr:documentId>string</spr:documentId>
<spr:loadExtendedMetadata>true</spr:loadExtendedMetadata>
</spr:DocumentGetById>
</soapenv:Body>
</soapenv:Envelope>
Response XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:spr="http://www.springcm.com/atlas/webservices/v201308/scm/">
<soapenv:Header/>
<soapenv:Body>
<spr:DocumentGetByIdResponse>
<spr:DocumentGetByIdResult>
<spr:Id>string</spr:Id>
<spr:Name>string</spr:Name>
<spr:ObjectType>Document</spr:ObjectType>
<spr:ParentFolderId>string</spr:ParentFolderId>
<spr:CreatedBy>string</spr:CreatedBy>
<spr:CreatedDate>dateTime</spr:CreatedDate>
<spr:UpdatedBy>string</spr:UpdatedBy>
<spr:UpdatedDate>dateTime</spr:UpdatedDate>
<spr:Security>list of enumerated string values</spr:Security>
<spr:Description>string</spr:Description>
<spr:Metadata>
<spr:SCMMetadata>
<spr:GroupName>string</spr:GroupName>
<spr:FieldName>string</spr:FieldName>
<spr:Value>string</spr:Value>
<spr:HighValue>string</spr:HighValue>
<spr:ExcludeFromSearch>true</spr:ExcludeFromSearch>
<spr:SetName>string</spr:SetName>
<spr:SetNumber>1042</spr:SetNumber>
<spr:DataType>String</spr:DataType>
</spr:SCMMetadata>
</spr:Metadata>
<spr:CheckedOutUserId>string</spr:CheckedOutUserId>
<spr:CheckedOutUserName>string</spr:CheckedOutUserName>
<spr:ExpirationDate>dateTime</spr:ExpirationDate>
<spr:FileSize>123456</spr:FileSize>
<spr:PDFFileSize>123456</spr:PDFFileSize>
<spr:PDFConversion>true</spr:PDFConversion>
<spr:PDFPageCount>1042</spr:PDFPageCount>
<spr:IsFormDocument>true</spr:IsFormDocument>
<spr:CustomFormFields>
<spr:SCMFormField>
<spr:Key>string</spr:Key>
<spr:Value>string</spr:Value>
<spr:SetName>string</spr:SetName>
<spr:SetNumber>string</spr:SetNumber>
</spr:SCMFormField>
</spr:CustomFormFields>
<spr:MIMEType>string</spr:MIMEType>
<spr:Version>string</spr:Version>
</spr:DocumentGetByIdResult>
</spr:DocumentGetByIdResponse>
</soapenv:Body>
</soapenv:Envelope>