Parent

Files

Class/Module Index [+]

Quicksearch

SOAP::RPC::Proxy::Operation

Attributes

request_style[R]
request_use[R]
response_style[R]
response_use[R]
soapaction[R]
use_default_namespace[R]

Public Class Methods

new(soapaction, param_def, opt) click to toggle source
# File lib/soap/rpc/proxy.rb, line 356
def initialize(soapaction, param_def, opt)
  @soapaction = soapaction
  @request_style = opt[:request_style]
  @response_style = opt[:response_style]
  @request_use = opt[:request_use]
  @response_use = opt[:response_use]
  @use_default_namespace =
    opt[:use_default_namespace] || opt[:elementformdefault]
  if opt.key?(:elementformdefault)
    warn("option :elementformdefault is deprecated.  use :use_default_namespace instead")
  end
  check_style(@request_style)
  check_style(@response_style)
  check_use(@request_use)
  check_use(@response_use)
  if @request_style == :rpc
    @rpc_request_qname = opt[:request_qname]
    if @rpc_request_qname.nil?
      raise MethodDefinitionError.new("rpc_request_qname must be given")
    end
    @rpc_method_factory =
      RPC::SOAPMethodRequest.new(@rpc_request_qname, param_def, @soapaction)
  else
    @doc_request_qnames = []
    @doc_request_qualified = []
    @doc_response_qnames = []
    @doc_response_qualified = []
    param_def.each do |inout, paramname, typeinfo, eleinfo|
      klass_not_used, nsdef, namedef = typeinfo
      qualified = eleinfo
      if namedef.nil?
        raise MethodDefinitionError.new("qname must be given")
      end
      case inout
      when SOAPMethod::IN
        @doc_request_qnames << XSD::QName.new(nsdef, namedef)
        @doc_request_qualified << qualified
      when SOAPMethod::OUT
        @doc_response_qnames << XSD::QName.new(nsdef, namedef)
        @doc_response_qualified << qualified
      else
        raise MethodDefinitionError.new(
          "illegal inout definition for document style: #{inout}")
      end
    end
  end
end

Public Instance Methods

raise_fault(e, mapping_registry, literal_mapping_registry) click to toggle source
# File lib/soap/rpc/proxy.rb, line 429
def raise_fault(e, mapping_registry, literal_mapping_registry)
  if @response_style == :rpc
    Mapping.fault2exception(e, mapping_registry)
  else
    Mapping.fault2exception(e, literal_mapping_registry)
  end
end
request_body(values, mapping_registry, literal_mapping_registry, opt) click to toggle source
# File lib/soap/rpc/proxy.rb, line 412
def request_body(values, mapping_registry, literal_mapping_registry, opt)
  if @request_style == :rpc
    request_rpc(values, mapping_registry, literal_mapping_registry, opt)
  else
    request_doc(values, mapping_registry, literal_mapping_registry, opt)
  end
end
request_default_encodingstyle() click to toggle source
# File lib/soap/rpc/proxy.rb, line 404
def request_default_encodingstyle
  (@request_use == :encoded) ? EncodingNamespace : LiteralNamespace
end
response_default_encodingstyle() click to toggle source
# File lib/soap/rpc/proxy.rb, line 408
def response_default_encodingstyle
  (@response_use == :encoded) ? EncodingNamespace : LiteralNamespace
end
response_obj(body, mapping_registry, literal_mapping_registry, opt) click to toggle source
# File lib/soap/rpc/proxy.rb, line 420
def response_obj(body, mapping_registry, literal_mapping_registry, opt)
  if @response_style == :rpc
    response_rpc(body, mapping_registry, literal_mapping_registry, opt)
  else
    unique_result_for_one_element_array(
      response_doc(body, mapping_registry, literal_mapping_registry, opt))
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.