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

Changeset 1670

Show
Ignore:
Timestamp:
11/14/05 22:13:15 (3 years ago)
Author:
nahi
Message:

actor support. closes #19.

Files:

Legend:

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

    r1580 r1670  
    152152  attr_accessor :mustunderstand 
    153153  attr_accessor :encodingstyle 
    154  
    155   def initialize(element, mustunderstand = true, encodingstyle = nil) 
     154  attr_accessor :actor 
     155 
     156  def initialize(element, mustunderstand = true, encodingstyle = nil, actor = nil) 
    156157    super() 
    157158    @type = nil 
     
    159160    @mustunderstand = mustunderstand 
    160161    @encodingstyle = encodingstyle 
     162    @actor = actor 
    161163    element.parent = self if element 
    162164  end 
     
    171173      @element.extraattr[ns.name(AttrEncodingStyleName)] = @encodingstyle 
    172174    end 
    173     @element.encodingstyle = @encodingstyle if !@element.encodingstyle 
     175    unless @element.encodingstyle 
     176      @element.encodingstyle = @encodingstyle 
     177    end 
     178    if @actor 
     179      @element.extraattr[ns.name(AttrActorName)] = @actor 
     180    end 
    174181    yield(@element) 
    175182  end 
     
    196203 
    197204  def add(name, value) 
     205    actor = value.extraattr[AttrActorName] 
    198206    mu = (value.extraattr[AttrMustUnderstandName] == '1') 
    199207    encstyle = value.extraattr[AttrEncodingStyleName] 
    200     item = SOAPHeaderItem.new(value, mu, encstyle
     208    item = SOAPHeaderItem.new(value, mu, encstyle, actor
    201209    super(name, item) 
    202210  end 
  • trunk/lib/soap/header/handler.rb

    r1520 r1670  
    1818  attr_reader :mustunderstand 
    1919  attr_reader :encodingstyle 
     20  attr_reader :target_actor 
    2021 
    2122  def initialize(elename) 
     
    2324    @mustunderstand = false 
    2425    @encodingstyle = nil 
     26    @target_actor = nil 
    2527  end 
    2628 
     
    4446    else 
    4547      item.elename = @elename 
    46       ::SOAP::SOAPHeaderItem.new(item, @mustunderstand, @encodingstyle) 
     48      ::SOAP::SOAPHeaderItem.new(item, @mustunderstand, @encodingstyle, 
     49        @target_actor) 
    4750    end 
    4851  end 
  • trunk/lib/soap/rpc/httpserver.rb

    r1520 r1670  
    2222 
    2323  def initialize(config) 
    24     super(config[:SOAPHTTPServerApplicationName] || self.class.name) 
     24    actor = config[:SOAPHTTPServerApplicationName] || self.class.name 
     25    super(actor) 
    2526    @default_namespace = config[:SOAPDefaultNamespace] 
    2627    @webrick_config = config.dup 
     
    2829    @webrick_config[:Logger] ||= @log 
    2930    @log = @webrick_config[:Logger]     # sync logger of App and HTTPServer 
    30     @router = ::SOAP::RPC::Router.new(self.class.name
     31    @router = ::SOAP::RPC::Router.new(actor
    3132    @soaplet = ::SOAP::RPC::SOAPlet.new(@router) 
    3233    on_init 
  • trunk/lib/soap/rpc/proxy.rb

    r1665 r1670  
    265265  end 
    266266 
    267   def create_header(headers) 
    268     header = SOAPHeader.new() 
    269     headers.each do |content, mustunderstand, encodingstyle| 
    270       header.add(SOAPHeaderItem.new(content, mustunderstand, encodingstyle)) 
    271     end 
    272     header 
    273   end 
    274  
    275267  def create_encoding_opt(hash = nil) 
    276268    opt = {} 
  • trunk/lib/soap/rpc/router.rb

    r1669 r1670  
    325325      faultcode = FaultCode::Server 
    326326    end 
    327  
    328327    detail = Mapping::SOAPException.new(e) 
    329328    SOAPFault.new( 
  • trunk/lib/soap/soap.rb

    r1669 r1670  
    4949EleFaultCodeName = XSD::QName.new(nil, EleFaultCode).freeze 
    5050EleFaultDetailName = XSD::QName.new(nil, EleFaultDetail).freeze 
     51AttrActorName = XSD::QName.new(EnvelopeNamespace, AttrActor).freeze 
    5152AttrMustUnderstandName = XSD::QName.new(EnvelopeNamespace, AttrMustUnderstand).freeze 
    5253AttrEncodingStyleName = XSD::QName.new(EnvelopeNamespace, AttrEncodingStyle).freeze