SOAP WSDL Generate Code

SpringCMServiceSoap12 / ParsePath

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 <CkXml.h>
#include <CkHttp.h>
#include <CkHttpResponse.h>

void ChilkatSample(void)
    {
    CkXml xml;
    xml.put_Tag("soap:Envelope");
    xml.AddAttribute("xmlns:soap","http://www.w3.org/2003/05/soap-envelope");
    xml.AddAttribute("xmlns:spr","http://www.springcm.com/atlas/webservices/v201308/scm/");
    xml.UpdateChildContent("soap:Header","");
    xml.UpdateChildContent("soap:Body|spr:ParsePath|spr:token","string");
    xml.UpdateChildContent("soap:Body|spr:ParsePath|spr:currentFolderId","string");
    xml.UpdateChildContent("soap:Body|spr:ParsePath|spr:path","string");
    xml.UpdateChildContent("soap:Body|spr:ParsePath|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. 
    xml.put_EmitXmlDecl(false);
    const char *soapRequestBody = xml.getXml();

    const char *endpoint = "https://soapna11.springcm.com/atlas/webservices/v201308/springcmservice.asmx";
    const char *soapAction = "http://www.springcm.com/atlas/webservices/v201308/scm/ParsePath";
    //  For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml"
    const char *contentType = "text/xml";

    CkHttp http;

    http.ClearHeaders();
    http.SetRequestHeader("Content-Type",contentType);
    http.SetRequestHeader("SOAPAction",soapAction);

    CkHttpResponse *resp = http.PostXml(endpoint,soapRequestBody,"utf-8");
    if (http.get_LastMethodSuccess() == false) {
        std::cout << http.lastErrorText() << "\r\n";
        std::cout << "Failed to send SOAP request." << "\r\n";
        return;
    }

    // Get the XML response body.
    CkXml responseXml;
    resp->GetBodyXml(responseXml);

    int statusCode = resp->get_StatusCode();
    std::cout << "response status code: " << statusCode << "\r\n";

    delete resp;

    // If the status code does not indicate succcess, then show the response XML,
    // which probably contains error information.
    if (statusCode != 200) {
        std::cout << responseXml.getXml() << "\r\n";
        return;
    }

    std::cout << responseXml.getXml() << "\r\n";

    // 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).

    const char *Id = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Id");
    const char *Name = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Name");
    const char *ObjectType = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:ObjectType");
    const char *ParentFolderId = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:ParentFolderId");
    const char *CreatedBy = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:CreatedBy");
    const char *CreatedDate = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:CreatedDate");
    const char *UpdatedBy = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:UpdatedBy");
    const char *UpdatedDate = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:UpdatedDate");
    const char *Security = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Security");
    const char *Description = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Description");
    const char *GroupName = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Metadata|*:SCMMetadata|*:GroupName");
    const char *FieldName = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Metadata|*:SCMMetadata|*:FieldName");
    const char *Value = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Metadata|*:SCMMetadata|*:Value");
    const char *HighValue = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Metadata|*:SCMMetadata|*:HighValue");
    const char *ExcludeFromSearch = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Metadata|*:SCMMetadata|*:ExcludeFromSearch");
    const char *SetName = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Metadata|*:SCMMetadata|*:SetName");
    int SetNumber = responseXml.GetChildIntValue("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Metadata|*:SCMMetadata|*:SetNumber");
    const char *DataType = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Metadata|*:SCMMetadata|*:DataType");
    const char *CheckedOutUserId = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:CheckedOutUserId");
    const char *CheckedOutUserName = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:CheckedOutUserName");
    const char *ExpirationDate = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:ExpirationDate");
    int FileSize = responseXml.GetChildIntValue("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:FileSize");
    int PDFFileSize = responseXml.GetChildIntValue("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:PDFFileSize");
    const char *PDFConversion = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:PDFConversion");
    int PDFPageCount = responseXml.GetChildIntValue("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:PDFPageCount");
    const char *IsFormDocument = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:IsFormDocument");
    const char *Key = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:CustomFormFields|*:SCMFormField|*:Key");
    Value = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:CustomFormFields|*:SCMFormField|*:Value");
    SetName = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:CustomFormFields|*:SCMFormField|*:SetName");
    const char *strSetNumber = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:CustomFormFields|*:SCMFormField|*:SetNumber");
    const char *MIMEType = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:MIMEType");
    const char *Version = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Document|*:Version");
    const char *DocumentPortion = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:DocumentPortion");
    Id = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Id");
    Name = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Name");
    ObjectType = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:ObjectType");
    ParentFolderId = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:ParentFolderId");
    CreatedBy = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:CreatedBy");
    CreatedDate = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:CreatedDate");
    UpdatedBy = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:UpdatedBy");
    UpdatedDate = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:UpdatedDate");
    Security = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Security");
    Description = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Description");
    GroupName = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Metadata|*:SCMMetadata|*:GroupName");
    FieldName = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Metadata|*:SCMMetadata|*:FieldName");
    Value = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Metadata|*:SCMMetadata|*:Value");
    HighValue = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Metadata|*:SCMMetadata|*:HighValue");
    ExcludeFromSearch = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Metadata|*:SCMMetadata|*:ExcludeFromSearch");
    SetName = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Metadata|*:SCMMetadata|*:SetName");
    SetNumber = responseXml.GetChildIntValue("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Metadata|*:SCMMetadata|*:SetNumber");
    DataType = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:Metadata|*:SCMMetadata|*:DataType");
    const char *v_string = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Folder|*:LimitAttributeGroups|*:string");
    const char *FolderPortion = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:FolderPortion");
    const char *Result = responseXml.getChildContent("*:Body|*:ParsePathResponse|*:ParsePathResult|*:Result");
    }
Request XML
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:spr="http://www.springcm.com/atlas/webservices/v201308/scm/">
    <soap:Header/>
    <soap:Body>
        <spr:ParsePath>
            <spr:token>string</spr:token>
            <spr:currentFolderId>string</spr:currentFolderId>
            <spr:path>string</spr:path>
            <spr:loadExtendedMetadata>true</spr:loadExtendedMetadata>
        </spr:ParsePath>
    </soap:Body>
</soap:Envelope>
Response XML
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:spr="http://www.springcm.com/atlas/webservices/v201308/scm/">
    <soap:Header/>
    <soap:Body>
        <spr:ParsePathResponse>
            <spr:ParsePathResult>
                <spr:Document>
                    <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:Document>
                <spr:DocumentPortion>string</spr:DocumentPortion>
                <spr:Folder>
                    <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:LimitAttributeGroups>
                        <spr:string>string</spr:string>
                    </spr:LimitAttributeGroups>
                </spr:Folder>
                <spr:FolderPortion>string</spr:FolderPortion>
                <spr:Result>PathDoesNotExist</spr:Result>
            </spr:ParsePathResult>
        </spr:ParsePathResponse>
    </soap:Body>
</soap:Envelope>