SOAP WSDL Generate Code

InvoiceServiceImplServiceSoapBinding / CheckAvailableDocuments

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
Dim xml As New ChilkatXml
xml.Tag = "soapenv:Envelope"
success = xml.AddAttribute("xmlns:soapenv","http://schemas.xmlsoap.org/soap/envelope/")
success = xml.AddAttribute("xmlns:inv","http://invoice.carvajal.com/invoiceService/")
xml.UpdateChildContent "soapenv:Header",""
xml.UpdateChildContent "soapenv:Body|inv:CheckAvailableDocumentsRequest|inv:companyId","string"
xml.UpdateChildContent "soapenv:Body|inv:CheckAvailableDocumentsRequest|inv:initialDate","dateTime"
xml.UpdateChildContent "soapenv:Body|inv:CheckAvailableDocumentsRequest|inv:finalDate","dateTime"
xml.UpdateChildContent "soapenv:Body|inv:CheckAvailableDocumentsRequest|inv:resourceType","string"

' 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.EmitXmlDecl = 0
Dim soapRequestBody As String
soapRequestBody = xml.GetXml()

Dim endpoint As String
endpoint = "https://wscenf.cen.biz/isows/InvoiceService"
Dim soapAction As String
soapAction = "http://invoice.carvajal.com/invoiceService/CheckAvailableDocuments"
'  For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml"
Dim contentType As String
contentType = "text/xml"

Dim http As New ChilkatHttp

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

Dim resp As ChilkatHttpResponse
Set resp = http.PostXml(endpoint,soapRequestBody,"utf-8")
If (http.LastMethodSuccess = 0) Then
    Debug.Print http.LastErrorText
    Debug.Print "Failed to send SOAP request."
    Exit Sub
End If

' Get the XML response body.
Dim responseXml As New ChilkatXml
success = resp.GetBodyXml(responseXml)

Dim statusCode As Long
statusCode = resp.StatusCode
Debug.Print "response status code: " & statusCode

' If the status code does not indicate succcess, then show the response XML,
' which probably contains error information.
If (statusCode <> 200) Then
    Debug.Print responseXml.GetXml()
    Exit Sub
End If

Debug.Print responseXml.GetXml()

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

Dim documentNumber As String
documentNumber = responseXml.GetChildContent("*:Body|*:CheckAvailableDocumentsResponse|*:availableDocument|*:documentNumber")
Dim documentPrefix As String
documentPrefix = responseXml.GetChildContent("*:Body|*:CheckAvailableDocumentsResponse|*:availableDocument|*:documentPrefix")
Dim documentType As String
documentType = responseXml.GetChildContent("*:Body|*:CheckAvailableDocumentsResponse|*:availableDocument|*:documentType")
Dim downloadData As String
downloadData = responseXml.GetChildContent("*:Body|*:CheckAvailableDocumentsResponse|*:availableDocument|*:downloadData")
Dim senderIdentification As String
senderIdentification = responseXml.GetChildContent("*:Body|*:CheckAvailableDocumentsResponse|*:availableDocument|*:senderIdentification")
Request XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://invoice.carvajal.com/invoiceService/">
    <soapenv:Header/>
    <soapenv:Body>
        <inv:CheckAvailableDocumentsRequest>
            <inv:companyId>string</inv:companyId>
            <inv:initialDate>dateTime</inv:initialDate>
            <inv:finalDate>dateTime</inv:finalDate>
            <inv:resourceType>string</inv:resourceType>
        </inv:CheckAvailableDocumentsRequest>
    </soapenv:Body>
</soapenv:Envelope>
Response XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://invoice.carvajal.com/invoiceService/">
    <soapenv:Header/>
    <soapenv:Body>
        <inv:CheckAvailableDocumentsResponse>
            <inv:availableDocument>
                <inv:documentNumber>string</inv:documentNumber>
                <inv:documentPrefix>string</inv:documentPrefix>
                <inv:documentType>string</inv:documentType>
                <inv:downloadData>string</inv:downloadData>
                <inv:senderIdentification>string</inv:senderIdentification>
            </inv:availableDocument>
        </inv:CheckAvailableDocumentsResponse>
    </soapenv:Body>
</soapenv:Envelope>