class WsdlMapper::Runtime::Middlewares::SimpleRequestFactory
Public Instance Methods
call(operation, message)
click to toggle source
Serializes the `message`, sets the service URL and adds SOAPAction and Content-Type headers. For serialization it relies on {WsdlMapper::Runtime::Operation#input_s8r} to return the proper input serializer for this operation. @param [WsdlMapper::Runtime::Operation] operation @param [WsdlMapper::Runtime::Message] message @return [Array<WsdlMapper::Runtime::Operation, WsdlMapper::Runtime::Request>]
# File lib/wsdl_mapper/runtime/middlewares/simple_request_factory.rb, line 12 def call(operation, message) request = WsdlMapper::Runtime::Request.new message serialize_envelope request, operation, message set_url request, operation, message add_http_headers request, operation, message [operation, request] end
Protected Instance Methods
add_http_headers(request, _operation, message)
click to toggle source
# File lib/wsdl_mapper/runtime/middlewares/simple_request_factory.rb, line 22 def add_http_headers(request, _operation, message) request.add_http_header 'SOAPAction', message.action request.add_http_header 'Content-Type', 'text/xml' end
serialize_envelope(request, operation, message)
click to toggle source
# File lib/wsdl_mapper/runtime/middlewares/simple_request_factory.rb, line 31 def serialize_envelope(request, operation, message) request.xml = operation.input_s8r.to_xml(message.envelope) end
set_url(request, _operation, message)
click to toggle source
# File lib/wsdl_mapper/runtime/middlewares/simple_request_factory.rb, line 27 def set_url(request, _operation, message) request.url = URI(message.address) end