Changeset 1974
- Timestamp:
- 09/17/07 23:08:48 (1 year ago)
- Files:
-
- trunk/lib/soap/encodingstyle/literalHandler.rb (modified) (1 diff)
- trunk/lib/soap/generator.rb (modified) (4 diffs)
- trunk/lib/soap/rpc/driver.rb (modified) (1 diff)
- trunk/lib/soap/rpc/httpserver.rb (modified) (2 diffs)
- trunk/lib/soap/rpc/proxy.rb (modified) (4 diffs)
- trunk/lib/soap/rpc/router.rb (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/soap/encodingstyle/literalHandler.rb
r1970 r1974 69 69 end 70 70 when SOAPElement 71 # passes 2 times for simplifying namespace definition 72 data.each do |key, value| 73 if value.elename.namespace 74 Generator.assign_ns(attrs, ns, value.elename.namespace) 71 unless generator.use_default_namespace 72 # passes 2 times for simplifying namespace definition 73 data.each do |key, value| 74 if value.elename.namespace 75 Generator.assign_ns(attrs, ns, value.elename.namespace) 76 end 75 77 end 76 78 end trunk/lib/soap/generator.rb
r1954 r1974 32 32 attr_accessor :generate_explicit_type 33 33 attr_accessor :use_numeric_character_reference 34 attr_accessor :use_default_namespace 34 35 35 36 def initialize(opt = {}) … … 40 41 @generate_explicit_type = 41 42 opt.key?(:generate_explicit_type) ? opt[:generate_explicit_type] : true 42 # elementformdefault is for default namespace usage controll 43 # TODO: should be renamed 44 @elementformdefault = opt[:elementformdefault] 43 # ':elementformdefault' is for backward compatibility 44 @use_default_namespace = opt[:use_default_namespace] 45 45 @attributeformdefault = opt[:attributeformdefault] 46 46 @use_numeric_character_reference = opt[:use_numeric_character_reference] … … 163 163 data.elename.name 164 164 else 165 if @ elementformdefault165 if @use_default_namespace 166 166 Generator.assign_ns(attrs, ns, data.elename.namespace, '') 167 167 else … … 251 251 raise FormatEncodeError.new("empty namespace") 252 252 end 253 unless ns.assigned?(namespace) 253 override_default_ns = (tag == '' and namespace != ns.default_namespace) 254 if override_default_ns or !ns.assigned?(namespace) 254 255 tag = ns.assign(namespace, tag) 255 256 if tag == '' trunk/lib/soap/rpc/driver.rb
r1825 r1974 61 61 __attr_proxy :default_encodingstyle, true 62 62 __attr_proxy :generate_explicit_type, true 63 __attr_proxy :use_default_namespace, true 63 64 __attr_proxy :return_response_as_xml, true 64 65 __attr_proxy :headerhandler trunk/lib/soap/rpc/httpserver.rb
r1825 r1974 20 20 attr_reader :server 21 21 attr_accessor :default_namespace 22 23 class << self 24 if RUBY_VERSION >= "1.7.0" 25 def __attr_proxy(symbol, assignable = false) 26 name = symbol.to_s 27 define_method(name) { 28 @router.__send__(name) 29 } 30 if assignable 31 aname = name + '=' 32 define_method(aname) { |rhs| 33 @router.__send__(aname, rhs) 34 } 35 end 36 end 37 else 38 def __attr_proxy(symbol, assignable = false) 39 name = symbol.to_s 40 module_eval <<-EOS 41 def #{name} 42 @router.#{name} 43 end 44 EOS 45 if assignable 46 module_eval <<-EOS 47 def #{name}=(value) 48 @router.#{name} = value 49 end 50 EOS 51 end 52 end 53 end 54 end 55 56 __attr_proxy :mapping_registry, true 57 __attr_proxy :literal_mapping_registry, true 58 __attr_proxy :generate_explicit_type, true 59 __attr_proxy :use_default_namespace, true 22 60 23 61 def initialize(config) … … 59 97 def authenticator=(authenticator) 60 98 @soaplet.authenticator = authenticator 61 end62 63 def mapping_registry64 @router.mapping_registry65 end66 67 def mapping_registry=(mapping_registry)68 @router.mapping_registry = mapping_registry69 end70 71 def literal_mapping_registry72 @router.literal_mapping_registry73 end74 75 def literal_mapping_registry=(literal_mapping_registry)76 @router.literal_mapping_registry = literal_mapping_registry77 end78 79 def generate_explicit_type80 @router.generate_explicit_type81 end82 83 def generate_explicit_type=(generate_explicit_type)84 @router.generate_explicit_type = generate_explicit_type85 99 end 86 100 trunk/lib/soap/rpc/proxy.rb
r1833 r1974 33 33 attr_accessor :default_encodingstyle 34 34 attr_accessor :generate_explicit_type 35 attr_accessor :use_default_namespace 35 36 attr_accessor :return_response_as_xml 36 37 attr_reader :headerhandler … … 56 57 @default_encodingstyle = nil 57 58 @generate_explicit_type = true 59 @use_default_namespace = false 58 60 @return_response_as_xml = false 59 61 @headerhandler = Header::HandlerSet.new … … 130 132 :default_encodingstyle => 131 133 @default_encodingstyle || op_info.request_default_encodingstyle, 134 :use_default_namespace => @use_default_namespace, 132 135 :elementformdefault => op_info.elementformdefault, 133 136 :attributeformdefault => op_info.attributeformdefault … … 137 140 :default_encodingstyle => 138 141 @default_encodingstyle || op_info.response_default_encodingstyle, 142 :use_default_namespace => @use_default_namespace, 139 143 :elementformdefault => op_info.elementformdefault, 140 144 :attributeformdefault => op_info.attributeformdefault trunk/lib/soap/rpc/router.rb
r1908 r1974 31 31 attr_accessor :literal_mapping_registry 32 32 attr_accessor :generate_explicit_type 33 attr_accessor :use_default_namespace 33 34 attr_accessor :external_ces 34 35 attr_reader :filterchain … … 40 41 @literal_mapping_registry = ::SOAP::Mapping::LiteralRegistry.new 41 42 @generate_explicit_type = true 43 @use_default_namespace = false 42 44 @external_ces = nil 43 45 @operation_by_soapaction = {} … … 323 325 opt[:default_encodingstyle] = default_encodingstyle 324 326 opt[:generate_explicit_type] = @generate_explicit_type 327 opt[:use_default_namespace] = @use_default_namespace 325 328 @filterchain.reverse_each do |filter| 326 329 env = filter.on_outbound(env, opt)