class Nfe::Webservices::ClientSoap

Public Class Methods

new(certificate, private_key, webserviceinfo) click to toggle source
# File lib/nfe/webservices/client_soap.rb, line 4
def initialize(certificate, private_key, webserviceinfo)
  @client = Savon.client(
    log: false,
    wsdl: webserviceinfo.url,
    soap_version: 2,
    ssl_cert: certificate,
    ssl_cert_key: private_key,
    ssl_verify_mode: :none,
    adapter: :httpclient)
  @webserviceinfo = webserviceinfo
end

Public Instance Methods

call(xml) click to toggle source
# File lib/nfe/webservices/client_soap.rb, line 16
def call(xml)
  @client.call @webserviceinfo.service, soap_header: header, message: xml
end

Private Instance Methods

header() click to toggle source
# File lib/nfe/webservices/client_soap.rb, line 21
def header
  { nfeCabecMsg:
    { "@xmlns" => @webserviceinfo.namespace,
      cUF: uf_code,
      versaoDados: @webserviceinfo.version
    }
  }
end
uf_code() click to toggle source
# File lib/nfe/webservices/client_soap.rb, line 30
def uf_code
  Nfe::Helpers::UfHelper.code(@webserviceinfo.uf)
end