class ApiBanking::AadhaarVerificationService

Constants

ConsumerContext
ErrorDetails
ErrorInfo
ResHdr
Result
SERVICE_NAMESPACE
SERVICE_VERSION
ServiceContext
ServiceResponse

Attributes

configuration[RW]
request[RW]
result[RW]

Public Class Methods

configure() { |configuration| ... } click to toggle source
# File lib/api_banking/soap/aadhaarVerificationService.rb, line 31
def self.configure
  self.configuration ||= Configuration.new
  yield(configuration)
end
getDemoAuthData(env, request, callbacks) click to toggle source
# File lib/api_banking/soap/aadhaarVerificationService.rb, line 40
def self.getDemoAuthData(env, request, callbacks)
  reply = do_remote_call(env, callbacks, "http://xmlns.yesbank.com/WS/EKYCService/GetDemoAuthData") do |xml|
    xml.GetDemoAuthDataReq("xmlns:eky" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['eky'].ReqHdr do |header|
        header.ConsumerContext do |consumer|
          consumer.parent.namespace = nil
          consumer.RequesterID request.getDemoAuthDataReq.reqHdr.consumerContext.requesterID
        end
        header.ServiceContext do |service|
          service.parent.namespace = nil
          service.ServiceName 'EKYCService'
          service.ReqRefNum request.getDemoAuthDataReq.reqHdr.serviceContext.reqRefNum
          service.ReqRefTimeStamp Time.now.strftime '%Y-%m-%dT%H:%M:%S'
          service.ServiceVersionNo SERVICE_VERSION
        end
      end
      xml['eky'].ReqBody do |body|
        body['eky'].DemographicDataModel do |data|
          data['eky'].AadhaarName request.getDemoAuthDataReq.reqBody.demographicDataModel.aadhaarName
          data['eky'].AadhaarNo request.getDemoAuthDataReq.reqBody.demographicDataModel.aadhaarNo
          data['eky'].AgentID request.getDemoAuthDataReq.reqBody.demographicDataModel.agentID
          data['eky'].DOB['xsi:nil'] = true if request.getDemoAuthDataReq.reqBody.demographicDataModel.dob.nil?
          data['eky'].DOB request.getDemoAuthDataReq.reqBody.demographicDataModel.dob unless request.getDemoAuthDataReq.reqBody.demographicDataModel.dob.nil?
          data['eky'].Gender['xsi:nil'] = true if request.getDemoAuthDataReq.reqBody.demographicDataModel.gender.nil?
          data['eky'].Gender request.getDemoAuthDataReq.reqBody.demographicDataModel.gender unless request.getDemoAuthDataReq.reqBody.demographicDataModel.gender.nil?
          data['eky'].Loginkey request.getDemoAuthDataReq.reqBody.demographicDataModel.loginKey
          data['eky'].MerchantId request.getDemoAuthDataReq.reqBody.demographicDataModel.merchantId
          data['eky'].MerchantTransactionId request.getDemoAuthDataReq.reqBody.demographicDataModel.merchantTransactionId
          data['eky'].Pincode request.getDemoAuthDataReq.reqBody.demographicDataModel.pincode
          data['eky'].TerminalID request.getDemoAuthDataReq.reqBody.demographicDataModel.terminalID
        end
      end
    end
  end
  parse_reply(:getDemoAuthData, reply)
end

Private Class Methods

parse_reply(operationName, reply) click to toggle source
# File lib/api_banking/soap/aadhaarVerificationService.rb, line 93
def self.parse_reply(operationName, reply)
  if reply.kind_of?Fault
    return reply
  else
    case operationName
      when :getDemoAuthData
        service_response = Verification::ServiceResponse.new(
          content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceResponse/EsbResTimeStamp', 'NS1' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceResponse/EsbResStatus', 'NS1' => SERVICE_NAMESPACE))
          )
        consumer_context = Verification::ConsumerContext.new(
          content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ConsumerContext/RequesterID', 'NS1' => SERVICE_NAMESPACE))
          )
        service_context = Verification::ServiceContext.new(
          content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceContext/ServiceName', 'NS1' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceContext/ReqRefNum', 'NS1' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceContext/ReqRefTimeStamp', 'NS1' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceContext/ServiceVersionNo', 'NS1' => SERVICE_NAMESPACE))
          )
        error_info = Verification::ErrorInfo.new(
          content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ErrorDetails/ErrorInfo/ErrSrc', 'NS1' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ErrorDetails/ErrorInfo/HostErrCode', 'NS1' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ErrorDetails/ErrorInfo/HostErrDesc', 'NS1' => SERVICE_NAMESPACE))
          )
        error_details = Verification::ConsumerContext.new(
          error_info
          )
        header = Verification::ResHdr.new(
          consumer_context,
          service_context,
          service_response,
          error_details
          )
        res = Verification::GetDemoAuthDataRes.new(
          header
          )
        return Verification::Result.new(
          res
        )
    end
  end
end
uri() click to toggle source
# File lib/api_banking/soap/aadhaarVerificationService.rb, line 80
def self.uri()
  return '/eKYC'
end

Private Instance Methods

url() click to toggle source
# File lib/api_banking/soap/aadhaarVerificationService.rb, line 136
def url
  return '/eKYC'
end