class InovadoraXml::ServidorWsdl
Attributes
args_request[RW]
cert[RW]
errors[RW]
key[RW]
metodo_soap[RW]
retorno[RW]
wsdl[RW]
xml_enviar[RW]
Public Class Methods
new(xml_enviar, metodo_soap, wsdl, cert = nil, key = nil, args_request = {})
click to toggle source
# File lib/inovadora_xml/servidor_wsdl.rb, line 6 def initialize(xml_enviar, metodo_soap, wsdl, cert = nil, key = nil, args_request = {}) self.xml_enviar = xml_enviar self.metodo_soap = metodo_soap self.wsdl = wsdl self.cert = cert self.key = key self.args_request = args_request self.errors = ActiveModel::Errors.new(self) end
Public Instance Methods
enviar()
click to toggle source
# File lib/inovadora_xml/servidor_wsdl.rb, line 19 def enviar begin cliente = estabelecer_cliente() response = cliente.request(self.metodo_soap, args_request) do soap.xml = self.xml_enviar end self.retorno = response rescue Savon::SOAP::Fault => fault self.errors.add(:base, fault.to_s) rescue Savon::HTTP::Error => fault2 self.errors.add(:base, fault2.to_s) rescue Exception => e self.errors.add(:base, e.message) ensure return self.errors.blank? end end
estabelecer_cliente()
click to toggle source
# File lib/inovadora_xml/servidor_wsdl.rb, line 38 def estabelecer_cliente Savon::Client.new do |wsdl, http| wsdl.document = self.wsdl http.auth.ssl.cert_file = self.cert unless self.cert.blank? http.auth.ssl.cert_key_file = self.key unless self.key.blank? http.auth.ssl.verify_mode = :none end end