Changeset 1551
- Timestamp:
- 05/18/05 23:35:05 (4 years ago)
- Files:
-
- trunk/lib/soap/rpc/router.rb (modified) (4 diffs)
- trunk/test/wsdl/document/ping_nosoapaction.wsdl (added)
- trunk/test/wsdl/document/test_nosoapaction.rb (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/soap/rpc/router.rb
r1520 r1551 116 116 117 117 def add_document_operation(receiver, soapaction, name, param_def, opt = {}) 118 unless soapaction 119 raise RPCRoutingError.new("soapaction is a must for document method") 120 end 118 # 119 # adopt workaround for doc/lit wrapper method 120 # (you should consider to simply use rpc/lit service) 121 # 122 #unless soapaction 123 # raise RPCRoutingError.new("soapaction is a must for document method") 124 #end 121 125 ensure_styleuse_option(opt, :document, :literal) 122 126 op = ApplicationScopeOperation.new(soapaction, receiver, name, param_def, … … 125 129 raise RPCRoutingError.new("illegal request_style given") 126 130 end 127 assign_operation(soapaction, nil, op)131 assign_operation(soapaction, first_input_part_qname(param_def), op) 128 132 end 129 133 alias add_document_method add_document_operation 130 134 131 135 def add_document_request_operation(factory, soapaction, name, param_def, opt = {}) 132 unless soapaction 133 raise RPCRoutingError.new("soapaction is a must for document method") 134 end 136 # 137 # adopt workaround for doc/lit wrapper method 138 # (you should consider to simply use rpc/lit service) 139 # 140 #unless soapaction 141 # raise RPCRoutingError.new("soapaction is a must for document method") 142 #end 135 143 ensure_styleuse_option(opt, :document, :literal) 136 144 op = RequestScopeOperation.new(soapaction, receiver, name, param_def, opt) … … 138 146 raise RPCRoutingError.new("illegal request_style given") 139 147 end 140 assign_operation(soapaction, nil, op)148 assign_operation(soapaction, first_input_part_qname(param_def), op) 141 149 end 142 150 … … 184 192 185 193 private 194 195 def first_input_part_qname(param_def) 196 param_def.each do |inout, paramname, typeinfo| 197 if inout == SOAPMethod::IN 198 klass, nsdef, namedef = typeinfo 199 return XSD::QName.new(nsdef, namedef) 200 end 201 end 202 nil 203 end 186 204 187 205 def create_styleuse_option(style, use)