Sha256: 210475cb506bfba25e6ee73d5152371840371b88c7e8a37e714597b63fbd1a46

Contents?: true

Size: 1.65 KB

Versions: 3

Compression:

Stored size: 1.65 KB

Contents

# encoding: utf-8

require 'savon'

class Request
  # Initialize params.
  def initialize(id_number, first_name, last_name, birth_year, version, open_timeout, read_timeout, log, wsdl)
    @id_number = id_number
    @first_name = first_name
    @last_name = last_name
    @birth_year = birth_year
    @version = version
    @open_timeout = open_timeout
    @read_timeout = read_timeout
    @log = log
    @wsdl = wsdl
  end

  # Initialize the SOAP client
  def sorgula
    kps_client = Savon.client(
      wsdl: @wsdl,
      soap_version: @version,
      open_timeout: @open_timeout,
      read_timeout: @read_timeout,
      log: @log
    )

    # Create message pattern
    message = {
      'TCKimlikNo' => @id_number.to_s,
      'Ad' => UnicodeUtils.upcase(@first_name, :tr),
      'Soyad' => UnicodeUtils.upcase(@last_name, :tr),
      'DogumYili' => @birth_year.to_s
    }

    # Make the SOAP request and handle errors.
    begin
      response = kps_client.call(:tc_kimlik_no_dogrula, message: message)
    rescue Savon::SOAPFault => error
      puts "SOAP fault. Error: #{error}"
    rescue Savon::HTTPError => error
      puts "HTTP connection error. Error: #{error}"
    end

    # Get the SOAP response and handle errors.
    begin
      bool_value = response.body[:tc_kimlik_no_dogrula_response][:tc_kimlik_no_dogrula_result]
      return bool_value
    rescue NoMethodError => error
      if response.nil?
        puts "Errors occured. Response is nil! Error: #{error}"
      else
        puts "There is an error with the response. Error: #{error}"
      end
    rescue Savon::InvalidResponseError => error
      puts "Not a valid response! Error: #{error}"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mernis-1.0.5 lib/mernis/request.rb
mernis-1.0.4 lib/mernis/request.rb
mernis-1.0.3 lib/mernis/request.rb