Sample code for 30+ languages & platforms
DataFlex

SOAP Request to farmaclick.infarma.it

See more HTTP Misc Examples

Demonstrates how to make a SOAP HTTP request to the FCKLogin method of farmaclick.infarma.it.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoXml
    Handle hoHttp
    Variant vResp
    Handle hoResp
    Handle hoXmlResp
    String sTemp1
    Integer iTemp1

    Move False To iSuccess

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    // --------------------------------------------------------------------------------
    // Also see Chilkat's Online WSDL Code Generator
    // to generate code and SOAP Request and Response XML for each operation in a WSDL.
    // --------------------------------------------------------------------------------

    // Here is an example of an HTTP POST Request we'll be sending:

    // POST /documento.php HTTP/1.1
    // Content-Type: text/xml;charset=UTF-8
    // SOAPAction: https://conexion.facto.cl/documento.php/emitirDocumento
    // 
    // <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.farmaclick.infarma.it">
    //    <soapenv:Header/>
    //    <soapenv:Body>
    //       <api:FCKLogin soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    //          <inBean xsi:type="urn:LoginInputBean" xmlns:urn="urn:BeanService">
    //             <nomeTerminale xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</nomeTerminale>
    //             <password xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</password>
    //             <passwordSH xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</passwordSH>
    //             <userName xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</userName>
    //          </inBean>
    //       </api:FCKLogin>
    //    </soapenv:Body>
    // </soapenv:Envelope>

    // Use this online tool to generate code from sample XML: 
    // Generate Code to Create XML

    Get Create (RefClass(cComChilkatXml)) To hoXml
    If (Not(IsComObjectCreated(hoXml))) Begin
        Send CreateComObject of hoXml
    End
    Set ComTag Of hoXml To "soapenv:Envelope"
    Get ComAddAttribute Of hoXml "xmlns:xsi" "http://www.w3.org/2001/XMLSchema-instance" To iSuccess
    Get ComAddAttribute Of hoXml "xmlns:xsd" "http://www.w3.org/2001/XMLSchema" To iSuccess
    Get ComAddAttribute Of hoXml "xmlns:soapenv" "http://schemas.xmlsoap.org/soap/envelope/" To iSuccess
    Get ComAddAttribute Of hoXml "xmlns:api" "http://api.farmaclick.infarma.it" To iSuccess
    Send ComUpdateChildContent To hoXml "soapenv:Header" ""
    Get ComUpdateAttrAt Of hoXml "soapenv:Body|api:FCKLogin" True "soapenv:encodingStyle" "http://schemas.xmlsoap.org/soap/encoding/" To iSuccess
    Get ComUpdateAttrAt Of hoXml "soapenv:Body|api:FCKLogin|inBean" True "xsi:type" "urn:LoginInputBean" To iSuccess
    Get ComUpdateAttrAt Of hoXml "soapenv:Body|api:FCKLogin|inBean" True "xmlns:urn" "urn:BeanService" To iSuccess
    Get ComUpdateAttrAt Of hoXml "soapenv:Body|api:FCKLogin|inBean|nomeTerminale" True "xsi:type" "soapenc:string" To iSuccess
    Get ComUpdateAttrAt Of hoXml "soapenv:Body|api:FCKLogin|inBean|nomeTerminale" True "xmlns:soapenc" "http://schemas.xmlsoap.org/soap/encoding/" To iSuccess
    Send ComUpdateChildContent To hoXml "soapenv:Body|api:FCKLogin|inBean|nomeTerminale" "?"
    Get ComUpdateAttrAt Of hoXml "soapenv:Body|api:FCKLogin|inBean|password" True "xsi:type" "soapenc:string" To iSuccess
    Get ComUpdateAttrAt Of hoXml "soapenv:Body|api:FCKLogin|inBean|password" True "xmlns:soapenc" "http://schemas.xmlsoap.org/soap/encoding/" To iSuccess
    Send ComUpdateChildContent To hoXml "soapenv:Body|api:FCKLogin|inBean|password" "?"
    Get ComUpdateAttrAt Of hoXml "soapenv:Body|api:FCKLogin|inBean|passwordSH" True "xsi:type" "soapenc:string" To iSuccess
    Get ComUpdateAttrAt Of hoXml "soapenv:Body|api:FCKLogin|inBean|passwordSH" True "xmlns:soapenc" "http://schemas.xmlsoap.org/soap/encoding/" To iSuccess
    Send ComUpdateChildContent To hoXml "soapenv:Body|api:FCKLogin|inBean|passwordSH" "?"
    Get ComUpdateAttrAt Of hoXml "soapenv:Body|api:FCKLogin|inBean|userName" True "xsi:type" "soapenc:string" To iSuccess
    Get ComUpdateAttrAt Of hoXml "soapenv:Body|api:FCKLogin|inBean|userName" True "xmlns:soapenc" "http://schemas.xmlsoap.org/soap/encoding/" To iSuccess
    Send ComUpdateChildContent To hoXml "soapenv:Body|api:FCKLogin|inBean|userName" "?"

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    // Indicate we want to allow an empty header..
    Set ComUncommonOptions Of hoHttp To "AllowEmptyHeaders"
    Send ComSetRequestHeader To hoHttp "SoapAction" ""

    Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
    If (Not(IsComObjectCreated(hoResp))) Begin
        Send CreateComObject of hoResp
    End
    Get ComGetXml Of hoXml To sTemp1
    Get pvComObject of hoResp to vResp
    Get ComHttpStr Of hoHttp "POST" "http://webservice.unicospa.it:8181/Service.svc/FrontEndService/Farmaclick2010001FCKLogin" sTemp1 "utf-8" "text/xml" vResp To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // A status code = 200 indicates success.
    Get ComStatusCode Of hoResp To iTemp1
    Showln "Response status code = " iTemp1

    Get Create (RefClass(cComChilkatXml)) To hoXmlResp
    If (Not(IsComObjectCreated(hoXmlResp))) Begin
        Send CreateComObject of hoXmlResp
    End
    Get ComBodyStr Of hoResp To sTemp1
    Get ComLoadXml Of hoXmlResp sTemp1 To iSuccess
    Showln "Response body text:"
    Get ComGetXml Of hoXmlResp To sTemp1
    Showln sTemp1


End_Procedure