SOAP WSDL Generate Code

DataServiceEndpointSoapBinding / getCompleteComponent

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 *componentImageId;
    const char *connectorSideImage;
    const char *flashVarsString;
    const char *xvalue;
    const char *ymaxvalue;
    const char *yminvalue;
    const char *xaxis;
    const char *yaxis;
    const char *name;
    const char *sortOrder;
    const char *value1;
    const char *value2;
    const char *text;
    const char *title;
    const char *v_type;
    const char *drawRight;
    const char *image;
    const char *pinname;
    const char *sort_order;
    const char *ecuSideImage;
    const char *description;
    const char *id;
    const char *mandatory;
    const char *hasLocationSystems;
    const char *hyperlink;
    const char *pinName;
    const char *pinNumber;
    const char *si;
    const char *st;
    const char *wireColor1;
    const char *wireColor2;
    const char *renderable;
    const char *subnetXml;
    const char *confirmationLink;
    const char *statusCode;

    xml = CkXml_Create();
    CkXml_putTag(xml,"soapenv:Envelope");
    CkXml_AddAttribute(xml,"xmlns:intf","http://data.webservice.workshop.vivid.nl");
    CkXml_AddAttribute(xml,"xmlns:soapenv","http://schemas.xmlsoap.org/soap/envelope/");
    CkXml_UpdateChildContent(xml,"soapenv:Header","");
    CkXml_UpdateChildContent(xml,"soapenv:Body|intf:getCompleteComponent|intf:vrid","xml");
    CkXml_UpdateChildContent(xml,"soapenv:Body|intf:getCompleteComponent|intf:typeId","xml");
    CkXml_UpdateChildContent(xml,"soapenv:Body|intf:getCompleteComponent|intf:si","xml");
    CkXml_UpdateChildContent(xml,"soapenv:Body|intf:getCompleteComponent|intf:st","xml");
    CkXml_UpdateChildContent(xml,"soapenv:Body|intf:getCompleteComponent|intf:language","xml");

    // 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 = "http://www.haynespro-services.com/workshopServices3/services/DataServiceEndpoint";
    soapAction = "";
    //  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).

    componentImageId = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:componentImageId");
    connectorSideImage = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:connectorSideImage");
    flashVarsString = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:flashVarsString");
    xvalue = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:graph|*:points|*:item|*:xvalue");
    ymaxvalue = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:graph|*:points|*:item|*:ymaxvalue");
    yminvalue = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:graph|*:points|*:item|*:yminvalue");
    xaxis = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:graph|*:xaxis");
    yaxis = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:graph|*:yaxis");
    name = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:name");
    sortOrder = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:sortOrder");
    value1 = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:table|*:header|*:value1");
    value2 = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:table|*:header|*:value2");
    value1 = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:table|*:rows|*:item|*:value1");
    value2 = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:table|*:rows|*:item|*:value2");
    text = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:text");
    title = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:title");
    v_type = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:type");
    drawRight = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:wirediagram2|*:nodeArray|*:item|*:drawRight");
    image = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:wirediagram2|*:nodeArray|*:item|*:image");
    name = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:wirediagram2|*:nodeArray|*:item|*:name");
    pinname = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:wirediagram2|*:nodeArray|*:item|*:pinname");
    sort_order = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:wirediagram2|*:nodeArray|*:item|*:sort_order");
    v_type = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:diagnosisSteps|*:item|*:wirediagram2|*:nodeArray|*:item|*:type");
    title = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:diagnosisSteps|*:item|*:title");
    ecuSideImage = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:ecuSideImage");
    description = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:genericParts|*:item|*:description");
    id = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:genericParts|*:item|*:id");
    mandatory = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:genericParts|*:item|*:mandatory");
    hasLocationSystems = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:hasLocationSystems");
    description = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:pinTable|*:componentsArray|*:item|*:description");
    hyperlink = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:pinTable|*:componentsArray|*:item|*:hyperlink");
    name = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:pinTable|*:componentsArray|*:item|*:name");
    pinName = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:pinTable|*:componentsArray|*:item|*:pinName");
    pinNumber = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:pinTable|*:componentsArray|*:item|*:pinNumber");
    si = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:pinTable|*:componentsArray|*:item|*:si");
    st = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:pinTable|*:componentsArray|*:item|*:st");
    wireColor1 = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:pinTable|*:componentsArray|*:item|*:wireColor1");
    wireColor2 = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:pinTable|*:componentsArray|*:item|*:wireColor2");
    renderable = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:renderable");
    subnetXml = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:completeComponent|*:subnetXml");
    confirmationLink = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:status|*:confirmationLink");
    statusCode = CkXml_getChildContent(responseXml,"*:Body|*:getCompleteComponentResponse|*:getCompleteComponentReturn|*:status|*:statusCode");


    CkXml_Dispose(xml);
    CkHttp_Dispose(http);
    CkXml_Dispose(responseXml);

    }
Request XML
<soapenv:Envelope xmlns:intf="http://data.webservice.workshop.vivid.nl" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header/>
    <soapenv:Body>
        <intf:getCompleteComponent>
            <intf:vrid>xml</intf:vrid>
            <intf:typeId>xml</intf:typeId>
            <intf:si>xml</intf:si>
            <intf:st>xml</intf:st>
            <intf:language>xml</intf:language>
        </intf:getCompleteComponent>
    </soapenv:Body>
</soapenv:Envelope>
Response XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns2="http://datatypes.webservice.elecdata.vivid.nl" xmlns:tns1="http://datamodel.webservice.elecdata.vivid.nl" xmlns:intf="http://data.webservice.workshop.vivid.nl">
    <soapenv:Header/>
    <soapenv:Body>
        <intf:getCompleteComponentResponse>
            <intf:getCompleteComponentReturn>
                <tns1:completeComponent>
                    <tns2:componentImageId>xml</tns2:componentImageId>
                    <tns2:connectorSideImage>xml</tns2:connectorSideImage>
                    <tns2:diagnosisSteps>
                        <intf:item>
                            <tns2:diagnosisSteps>
                                <intf:item>
                                    <tns2:flashVarsString>xml</tns2:flashVarsString>
                                    <tns2:graph>
                                        <tns2:points>
                                            <intf:item>
                                                <tns2:xvalue>xml</tns2:xvalue>
                                                <tns2:ymaxvalue>xml</tns2:ymaxvalue>
                                                <tns2:yminvalue>xml</tns2:yminvalue>
                                            </intf:item>
                                        </tns2:points>
                                        <tns2:xaxis>xml</tns2:xaxis>
                                        <tns2:yaxis>xml</tns2:yaxis>
                                    </tns2:graph>
                                    <tns2:name>xml</tns2:name>
                                    <tns2:noAnswer/>
                                    <tns2:sortOrder>xml</tns2:sortOrder>
                                    <tns2:table>
                                        <tns2:header>
                                            <tns2:value1>xml</tns2:value1>
                                            <tns2:value2>xml</tns2:value2>
                                        </tns2:header>
                                        <tns2:rows>
                                            <intf:item>
                                                <tns2:value1>xml</tns2:value1>
                                                <tns2:value2>xml</tns2:value2>
                                            </intf:item>
                                        </tns2:rows>
                                    </tns2:table>
                                    <tns2:text>xml</tns2:text>
                                    <tns2:title>xml</tns2:title>
                                    <tns2:type>xml</tns2:type>
                                    <tns2:wirediagram2>
                                        <tns2:nodeArray>
                                            <intf:item>
                                                <tns2:drawRight>xml</tns2:drawRight>
                                                <tns2:image>xml</tns2:image>
                                                <tns2:name>xml</tns2:name>
                                                <tns2:pinname>xml</tns2:pinname>
                                                <tns2:sort_order>xml</tns2:sort_order>
                                                <tns2:type>xml</tns2:type>
                                            </intf:item>
                                        </tns2:nodeArray>
                                    </tns2:wirediagram2>
                                    <tns2:yesAnswer/>
                                </intf:item>
                            </tns2:diagnosisSteps>
                            <tns2:title>xml</tns2:title>
                        </intf:item>
                    </tns2:diagnosisSteps>
                    <tns2:ecuSideImage>xml</tns2:ecuSideImage>
                    <tns2:genericParts>
                        <intf:item>
                            <tns2:description>xml</tns2:description>
                            <tns2:id>xml</tns2:id>
                            <tns2:mandatory>xml</tns2:mandatory>
                        </intf:item>
                    </tns2:genericParts>
                    <tns2:hasLocationSystems>xml</tns2:hasLocationSystems>
                    <tns2:pinTable>
                        <tns2:componentsArray>
                            <intf:item>
                                <tns2:description>xml</tns2:description>
                                <tns2:hyperlink>xml</tns2:hyperlink>
                                <tns2:name>xml</tns2:name>
                                <tns2:pinName>xml</tns2:pinName>
                                <tns2:pinNumber>xml</tns2:pinNumber>
                                <tns2:si>xml</tns2:si>
                                <tns2:st>xml</tns2:st>
                                <tns2:wireColor1>xml</tns2:wireColor1>
                                <tns2:wireColor2>xml</tns2:wireColor2>
                            </intf:item>
                        </tns2:componentsArray>
                    </tns2:pinTable>
                    <tns2:renderable>xml</tns2:renderable>
                    <tns2:subnetXml>xml</tns2:subnetXml>
                </tns1:completeComponent>
                <tns1:status>
                    <intf:confirmationLink>xml</intf:confirmationLink>
                    <intf:statusCode>xml</intf:statusCode>
                </tns1:status>
            </intf:getCompleteComponentReturn>
        </intf:getCompleteComponentResponse>
    </soapenv:Body>
</soapenv:Envelope>