Sample code for 30+ languages & platforms
Ruby

SOAP demoemision.thefactoryhka.com.pa DescargaPDF

See more REST Misc Examples

Make a SOAP call to http://demoemision.thefactoryhka.com.pa/ws/obj/v1.0/Service.svc with SOAPAction http://tempuri.org/IService/DescargaPDF

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

# 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.
# --------------------------------------------------------------------------------

http = Chilkat::CkHttp.new()

# First build this SOAP XML request body:
# Use this online tool to generate the code from sample XML: 
# Generate Code to Create XML

# <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:ser="http://schemas.datacontract.org/2004/07/Services.Model">
#    <soapenv:Header/>
#    <soapenv:Body>
#       <tem:DescargaPDF>
#          <tem:tokenEmpresa>?</tem:tokenEmpresa>
#          <tem:tokenPassword>?</tem:tokenPassword>
#          <tem:datosDocumento>
#             <ser:codigoSucursalEmisor>?</ser:codigoSucursalEmisor>
#              <ser:numeroDocumentoFiscal>?</ser:numeroDocumentoFiscal>
#             <ser:puntoFacturacionFiscal>?</ser:puntoFacturacionFiscal>
#             <ser:serialDispositivo>?</ser:serialDispositivo>
#             <ser:tipoDocumento>?</ser:tipoDocumento>
#             <ser:tipoEmision>?</ser:tipoEmision>
#          </tem:datosDocumento>
#       </tem:DescargaPDF>
#    </soapenv:Body>
# </soapenv:Envelope>

xml = Chilkat::CkXml.new()
xml.put_Tag("soapenv:Envelope")
xml.AddAttribute("xmlns:soapenv","http://schemas.xmlsoap.org/soap/envelope/")
xml.AddAttribute("xmlns:tem","http://tempuri.org/")
xml.AddAttribute("xmlns:ser","http://schemas.datacontract.org/2004/07/Services.Model")
xml.UpdateChildContent("soapenv:Header","")
xml.UpdateChildContent("soapenv:Body|tem:DescargaPDF|tem:tokenEmpresa","?")
xml.UpdateChildContent("soapenv:Body|tem:DescargaPDF|tem:tokenPassword","?")
xml.UpdateChildContent("soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:codigoSucursalEmisor","?")
xml.UpdateChildContent("soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:numeroDocumentoFiscal","?")
xml.UpdateChildContent("soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:puntoFacturacionFiscal","?")
xml.UpdateChildContent("soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:serialDispositivo","?")
xml.UpdateChildContent("soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:tipoDocumento","?")
xml.UpdateChildContent("soapenv:Body|tem:DescargaPDF|tem:datosDocumento|ser:tipoEmision","?")

strXml = xml.getXml()

http.SetRequestHeader("SOAPAction","http://tempuri.org/IService/DescargaPDF")
http.SetRequestHeader("Content-Type","text/xml; charset=utf-8")

endPoint = "http://demoemision.thefactoryhka.com.pa/ws/obj/v1.0/Service.svc"

resp = Chilkat::CkHttpResponse.new()
success = http.HttpStr("POST",endPoint,strXml,"utf-8","application/xml",resp)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

statusCode = resp.get_StatusCode()
if (statusCode != 200)
    print "Non-success status code: " + statusCode.to_s() + "\n";
    print "Response header: " + resp.header() + "\n";
    print "Response body: " + resp.bodyStr() + "\n";
    print "Unsuccessful." + "\n";
    exit
end

xmlResp = Chilkat::CkXml.new()
xmlResp.LoadXml(resp.bodyStr())

print xmlResp.getXml() + "\n";

# Use this online tool to generate parsing code from sample XML: 
# Generate Parsing Code from XML