Changeset 1465
- Timestamp:
- 03/16/05 23:12:16 (4 years ago)
- Files:
-
- trunk/lib/soap/wsdlDriver.rb (modified) (3 diffs)
- trunk/lib/wsdl/operation.rb (modified) (1 diff)
- trunk/lib/wsdl/operationBinding.rb (modified) (2 diffs)
- trunk/lib/wsdl/soap/definitions.rb (modified) (1 diff)
- trunk/lib/wsdl/soap/methodDefCreator.rb (modified) (2 diffs)
- trunk/lib/wsdl/soap/operation.rb (modified) (2 diffs)
- trunk/test/soap/wsdlDriver/calc.wsdl (added)
- trunk/test/soap/wsdlDriver/test_calc.rb (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/soap/wsdlDriver.rb
r1462 r1465 90 90 91 91 def add_operation(drv, port) 92 # Convert a map which key is QName, to a Hash which key is String.93 92 port.find_binding.operations.each do |op_bind| 94 op = op_bind.find_operation95 soapaction = op_bind.soap operation ? op_bind.soapoperation.soapaction :''96 orgname = op .name.name93 op_name = op_bind.soapoperation_name 94 soapaction = op_bind.soapaction || '' 95 orgname = op_name.name 97 96 name = XSD::CodeGen::GenSupport.safemethodname(orgname) 98 97 param_def = create_param_def(op_bind) … … 102 101 opt[:response_use] = (op_bind.output.soapbody.use || 'literal').intern 103 102 if op_bind.soapoperation_style == :rpc 104 qname = op.inputname 105 drv.add_rpc_operation(qname, soapaction, name, param_def, opt) 103 drv.add_rpc_operation(op_name, soapaction, name, param_def, opt) 106 104 else 107 105 drv.add_document_operation(soapaction, name, param_def, opt) … … 406 404 parts_names = op_info.bodyparts.collect { |part| part.name } 407 405 obj = create_method_obj(parts_names, params) 408 method = Mapping.obj2soap(obj, @wsdl_mapping_registry, op_info.op type_name)406 method = Mapping.obj2soap(obj, @wsdl_mapping_registry, op_info.op_name) 409 407 if method.members.size != parts_names.size 410 408 new_method = SOAPStruct.new trunk/lib/wsdl/operation.rb
r1423 r1465 47 47 48 48 def input_info 49 NameInfo.new(@name, inputname, inputparts) 49 typename = input.find_message.name 50 NameInfo.new(@name, typename, inputparts) 50 51 end 51 52 52 53 def output_info 53 NameInfo.new(@name, outputname, outputparts) 54 typename = output.find_message.name 55 NameInfo.new(@name, typename, outputparts) 54 56 end 55 57 trunk/lib/wsdl/operationBinding.rb
r1451 r1465 41 41 end 42 42 43 def soapoperation_name 44 if @soapoperation 45 @soapoperation.input_info.op_name 46 else 47 find_operation.name 48 end 49 end 50 43 51 def soapoperation_style 44 52 style = nil … … 51 59 end 52 60 style || :document 61 end 62 63 def soapaction 64 if @soapoperation 65 @soapoperation.soapaction 66 else 67 nil 68 end 53 69 end 54 70 trunk/lib/wsdl/soap/definitions.rb
r1458 r1465 112 112 operation = op_bind.find_operation 113 113 if op_bind.input 114 type = XMLSchema::ComplexType.new(op eration.inputname)114 type = XMLSchema::ComplexType.new(op_bind.soapoperation_name) 115 115 message = messages[operation.input.message] 116 116 type.sequence_elements = elements_from_message(message) trunk/lib/wsdl/soap/methodDefCreator.rb
r1461 r1465 49 49 name_as = operation.name.name 50 50 style = binding.soapoperation_style 51 soapaction = binding.soapoperation.soapaction52 51 namespace = binding.input.soapbody.namespace 53 52 if style == :rpc … … 64 63 [#{dq(name_as)}, #{dq(name)}, 65 64 #{paramstr}, 66 #{ndq( soapaction)}, #{ndq(namespace)}, #{sym(style.id2name)}65 #{ndq(binding.soapaction)}, #{ndq(namespace)}, #{sym(style.id2name)} 67 66 ] 68 67 __EOD__ trunk/lib/wsdl/soap/operation.rb
r1369 r1465 102 102 end 103 103 if soapbody.namespace 104 op_name = op_name.dup 105 op_name.namespace = soapbody.namespace 104 op_name = XSD::QName.new(soapbody.namespace, op_name.name) 106 105 end 107 106 if soapbody.parts … … 115 114 116 115 faultpart = nil 117 soapaction = parent.soapoperation.soapaction 118 OperationInfo.new(operation_style, op_name, optype_name, headerparts, bodyparts, faultpart, soapaction) 116 OperationInfo.new(operation_style, op_name, optype_name, headerparts, bodyparts, faultpart, parent.soapaction) 119 117 end 120 118 end