def handle_soap_request(action, xml_only, args, extra_namespaces)
      original_action_name =
          get_service_registry.get_method_signature(action)[:original_name]
      original_action_name = action if original_action_name.nil?
      request_info = nil
      response = @client.request(original_action_name) do |soap, wsdl, http|
        soap.body = args
        @header_handler.prepare_request(http, soap)
        soap.namespaces.merge!(extra_namespaces) unless extra_namespaces.nil?
        return soap.to_xml if xml_only
        request_info = RequestInfo.new(soap.to_xml, http.headers, http.url)
      end
      return request_info, response
    end
def handle_soap_request(action, xml_only, args, extra_namespaces)
      original_action_name =
          get_service_registry.get_method_signature(action)[:original_name]
      original_action_name = action if original_action_name.nil?
      request_info = nil
      response = @client.request(original_action_name) do |soap, wsdl, http|
        soap.body = args
        @header_handler.prepare_request(http, soap)
        soap.namespaces.merge!(extra_namespaces) unless extra_namespaces.nil?
        return soap.to_xml if xml_only
        request_info = RequestInfo.new(soap.to_xml, http.headers, http.url)
      end
      return request_info, response
    end
Executes the SOAP request with original SOAP name.