class WsdlMapper::SvcGeneration::OperationS8rGenerator
Constants
- SOAP_BODY
- SOAP_ENV_NS
- SOAP_HEADER
Public Instance Methods
build_simple(f, type, obj_name, attr_name, element_name)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 240 def build_simple(f, type, obj_name, attr_name, element_name) root_type = type.root.name.name f.block "x.simple(#{generate_name(type.name)}, #{element_name})", ['x'] do f.call 'x.text_builtin', "#{obj_name}.#{attr_name}", root_type.inspect end end
call_wrapper(f, op, suffix = '', &block)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 125 def call_wrapper(f, op, suffix = '', &block) f.block "x.complex(nil, #{generate_name(op.name, suffix)}, [])", ['x'], &block end
encoded?(in_out)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 145 def encoded?(in_out) in_out.body.use == 'encoded' end
generate_body(f, port, op, body_parts, in_out)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 129 def generate_body(f, port, op, body_parts, in_out) if rpc?(port) if encoded?(in_out) generate_rpc_encoded_body f, op, in_out, body_parts else #literal generate_rpc_literal_body f, op, in_out, body_parts end else #document if encoded?(in_out) generate_doc_encoded_body f, body_parts else #literal generate_doc_literal_body f, body_parts end end end
generate_doc_encoded_body(f, body_parts)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 181 def generate_doc_encoded_body(f, body_parts) soap_body_wrapper f do body_parts.each do |part| generate_encoded_body_part f, part end end end
generate_doc_literal_body(f, body_parts)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 153 def generate_doc_literal_body(f, body_parts) with_type = body_parts.first.part.element.nil? if with_type generate_doc_literal_type_body f, body_parts.first else generate_doc_literal_elements_body f, body_parts end end
generate_doc_literal_elements_body(f, body_parts)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 169 def generate_doc_literal_elements_body(f, body_parts) soap_body_wrapper f do body_parts.each do |part| generate_doc_literal_elements_body_part f, part end end end
generate_doc_literal_elements_body_part(f, part)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 177 def generate_doc_literal_elements_body_part(f, part) get_and_build_body f, part, part.part.element.name end
generate_doc_literal_type_body(f, part)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 163 def generate_doc_literal_type_body(f, part) soap_body_wrapper f do get_and_build_body f, part, part.part.name end end
generate_each_header(f, headers)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 62 def generate_each_header(f, headers) headers.each do |header| part = header.header.part if header.header.use == 'encoded' generate_encoded_header f, header, part else #literal generate_literal_header f, header, part end end end
generate_encoded_body_part(f, part)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 223 def generate_encoded_body_part(f, part) get_and_build_body f, part, part.part.name end
generate_encoded_header(f, header, part)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 93 def generate_encoded_header(f, header, part) soap_header_wrapper f do get_and_build_header f, header, part.name end end
generate_literal_element_header(f, header, part)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 87 def generate_literal_element_header(f, header, part) soap_header_wrapper f do get_and_build_header f, header, part.element.name end end
generate_literal_header(f, header, part)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 73 def generate_literal_header(f, header, part) if part.element generate_literal_element_header f, header, part else generate_literal_type_header f, header, part end end
generate_literal_type_header(f, header, part)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 81 def generate_literal_type_header(f, header, part) soap_header_wrapper f do get_and_build_header f, header, part.name end end
generate_op_input_s8r(service, port, op, result)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 18 def generate_op_input_s8r(service, port, op, result) modules = get_module_names service.name name = service_namer.get_input_s8r_name service.type, port.type, op.type type_file_for name, result do |f| f.requires input_s8r_base.require_path f.in_modules modules do in_classes f, service.name.class_name, port.name.class_name, op.name.class_name do generate_op_s8r_class f, port, op, name, op.type.input, input_s8r_base end end end end
generate_op_output_s8r(service, port, op, result)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 33 def generate_op_output_s8r(service, port, op, result) modules = get_module_names service.name name = service_namer.get_output_s8r_name service.type, port.type, op.type type_file_for name, result do |f| f.requires output_s8r_base.require_path f.in_modules modules do in_classes f, service.name.class_name, port.name.class_name, op.name.class_name do generate_op_s8r_class f, port, op, name, op.type.output, output_s8r_base end end end end
generate_op_s8r_body(f, port, op, in_out)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 106 def generate_op_s8r_body(f, port, op, in_out) body_parts = get_body_parts in_out f.in_def :build_body, 'x', 'body' do generate_body f, port, op, body_parts, in_out end end
generate_op_s8r_class(f, port, op, name, in_out, base)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 48 def generate_op_s8r_class(f, port, op, name, in_out, base) f.in_sub_class name.class_name, base.name do generate_op_s8r_header f, port, op, in_out generate_op_s8r_body f, port, op, in_out end end
generate_op_s8r_header(f, _port, _op, in_out)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 55 def generate_op_s8r_header(f, _port, _op, in_out) headers = get_header_parts in_out f.in_def :build_header, 'x', 'header' do generate_each_header f, headers end end
generate_operation_s8r(service, port, op, result)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 13 def generate_operation_s8r(service, port, op, result) generate_op_input_s8r service, port, op, result generate_op_output_s8r service, port, op, result end
generate_rpc_encoded_body(f, op, in_out, body_parts)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 212 def generate_rpc_encoded_body(f, op, in_out, body_parts) soap_body_wrapper f do suffix = in_out == op.type.output ? 'Response' : '' call_wrapper f, op.type, suffix do body_parts.each do |part| generate_encoded_body_part f, part end end end end
generate_rpc_literal_body(f, op, in_out, body_parts)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 189 def generate_rpc_literal_body(f, op, in_out, body_parts) soap_body_wrapper f do suffix = in_out == op.type.output ? 'Response' : '' call_wrapper f, op.type, suffix do body_parts.each do |part| if part.part.element generate_rpc_literal_element_body_part f, part else generate_rpc_literal_type_body_part f, part end end end end end
generate_rpc_literal_element_body_part(f, part)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 208 def generate_rpc_literal_element_body_part(f, part) get_and_build_body f, part, part.part.element.name end
generate_rpc_literal_type_body_part(f, part)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 204 def generate_rpc_literal_type_body_part(f, part) get_and_build_body f, part, part.part.name end
get_and_build(f, type_name, obj_name, attr_name, element_name)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 247 def get_and_build(f, type_name, obj_name, attr_name, element_name) f.statement "x.get(#{type_name}).build(x, #{obj_name}.#{attr_name}, #{element_name})" end
get_and_build_body(f, part, element)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 227 def get_and_build_body(f, part, element) attr_name = part.property_name.attr_name element_name = generate_name element type_name = get_type_name part.type if WsdlMapper::Dom::BuiltinType.builtin?(type_name.name) build_simple f, part.type, 'body', attr_name, element_name else type_name = namer.get_type_name(get_type_name(part.type)).name.inspect get_and_build f, type_name, 'body', attr_name, element_name end end
get_and_build_header(f, header, element)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 99 def get_and_build_header(f, header, element) type_name = namer.get_type_name(get_type_name(header.type)).name.inspect attr_name = header.property_name.attr_name element_name = generate_name element get_and_build f, type_name, 'header', attr_name, element_name end
input_s8r_base()
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 251 def input_s8r_base @input_s8r_base ||= @generator.runtime_base 'InputS8r', 'input_s8r' end
output_s8r_base()
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 255 def output_s8r_base @output_s8r_base ||= @generator.runtime_base 'OutputS8r', 'output_s8r' end
part_wrapper(f, part, &block)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 121 def part_wrapper(f, part, &block) f.block "x.complex(nil, #{generate_name(part.name)}, [])", ['x'], &block end
rpc?(port)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 149 def rpc?(port) port.type.binding.style == 'rpc' end
soap_body_wrapper(f, &block)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 117 def soap_body_wrapper(f, &block) f.block "x.complex(nil, #{generate_name(SOAP_BODY)}, [])", ['x'], &block end
soap_header_wrapper(f, &block)
click to toggle source
# File lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb, line 113 def soap_header_wrapper(f, &block) f.block "x.complex(nil, #{generate_name(SOAP_HEADER)}, [])", ['x'], &block end