Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

Changeset 1716

Show
Ignore:
Timestamp:
09/09/06 10:34:14 (2 years ago)
Author:
nahi
Message:

added SOAP::RPC::Driver#return_response_as_xml property (boolean) for getting raw XML response. closes #250.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/soap/rpc/driver.rb

    r1683 r1716  
    5858  __attr_proxy :endpoint_url, true 
    5959  __attr_proxy :mapping_registry, true 
     60  __attr_proxy :allow_unqualified_element, true 
    6061  __attr_proxy :default_encodingstyle, true 
    6162  __attr_proxy :generate_explicit_type, true 
    62   __attr_proxy :allow_unqualified_element, true 
     63  __attr_proxy :return_response_as_xml, true 
    6364  __attr_proxy :headerhandler 
    6465  __attr_proxy :streamhandler 
  • trunk/lib/soap/rpc/proxy.rb

    r1708 r1716  
    3030  attr_accessor :default_encodingstyle 
    3131  attr_accessor :generate_explicit_type 
     32  attr_accessor :return_response_as_xml 
    3233  attr_reader :headerhandler 
    3334  attr_reader :streamhandler 
     
    5152    @default_encodingstyle = nil 
    5253    @generate_explicit_type = true 
     54    @return_response_as_xml = false 
    5355    @headerhandler = Header::HandlerSet.new 
    5456    @mapping_registry = nil 
     
    115117  def invoke(req_header, req_body, opt = nil) 
    116118    opt ||= create_encoding_opt 
    117     route(req_header, req_body, opt, opt) 
     119    env = route(req_header, req_body, opt, opt) 
     120    if @return_response_as_xml 
     121      opt[:response_as_xml] 
     122    else 
     123      env 
     124    end 
    118125  end 
    119126 
     
    150157      op_info.raise_fault(e, @mapping_registry, @literal_mapping_registry) 
    151158    end 
    152     op_info.response_obj(env.body, @mapping_registry, 
    153       @literal_mapping_registry, mapping_opt) 
     159    if @return_response_as_xml 
     160      resopt[:response_as_xml] 
     161    else 
     162      op_info.response_obj(env.body, @mapping_registry, 
     163        @literal_mapping_registry, mapping_opt) 
     164    end 
    154165  end 
    155166 
     
    256267        StreamHandler.parse_media_type(mime.root.headers['content-type'].str) 
    257268      env = Processor.unmarshal(mime.root.content, opt) 
     269      if @return_response_as_xml 
     270        opt[:response_as_xml] = mime.root.content 
     271      end 
    258272    else 
    259273      opt[:charset] = @mandatorycharset || 
    260274        ::SOAP::StreamHandler.parse_media_type(contenttype) 
    261275      env = Processor.unmarshal(conn_data.receive_string, opt) 
     276      if @return_response_as_xml 
     277        opt[:response_as_xml] = conn_data.receive_string 
     278      end 
    262279    end 
    263280    unless env.is_a?(::SOAP::SOAPEnvelope)