Sha256: b54e781a29f8d5a8dc653967da4d2d5dff872aee1acbf972f2f9e80eb16c7c32

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

require "active_support/core_ext/class/subclasses"

module Muhimbi
  class Client

    def self.client
      Savon.client do
        wsdl Muhimbi::Config.wsdl
        open_timeout Muhimbi::Config.timeout || 30
        read_timeout Muhimbi::Config.timeout || 30
        namespaces(
          "xmlns:ns" =>"http://services.muhimbi.com/2009/10/06",
          "xmlns:ns1"=>"http://types.muhimbi.com/2009/10/06",
          "xmlns:ns2"=>"http://types.muhimbi.com/2010/05/17"
        )
        namespace_identifier :ns
        #element_form_default :qualified
        env_namespace :soapenv
      end
    end

    def self.get_configuration
      wsdl_res = Muhimbi::Client.client.call(:get_configuration )
      wsdl_res.to_hash[:get_configuration_response][:get_configuration_result]
    end

    def self.get_diagnostics(opts=[])

      arr = []

      opts.each do |opt|
        arr << {"ns1:DiagnosticRequestItem"=> { "ns1:ConverterName" => opt }}
      end

      msg_options = {"ns:convertersToDiagnose"=> arr  }

      wsdl_res = Muhimbi::Client.client.call(:get_diagnostics, message: msg_options )
      wsdl_res.to_hash[:get_diagnostics_response][:get_diagnostics_result]
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
muhimbi-0.0.5 lib/muhimbi/client.rb
muhimbi-0.0.4 lib/muhimbi/client.rb