Method: ActionService::Protocol::XmlRpc::XmlRpcProtocol.create_protocol_request

Defined in:
lib/action_service/protocol/xmlrpc.rb

.create_protocol_request(container_class, action_pack_request) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/action_service/protocol/xmlrpc.rb', line 30

def self.create_protocol_request(container_class, action_pack_request)
  parser = Helper.instance.get_parser
  service_name = action_pack_request.parameters['action']
  methodname, params = parser.parseMethodCall(action_pack_request.raw_post)
  protocol = XmlRpcProtocol.new(container_class)
  content_type = action_pack_request.env['HTTP_CONTENT_TYPE']
  content_type ||= 'text/xml'
  request = ProtocolRequest.new(protocol,
                                action_pack_request.raw_post,
                                service_name.to_sym,
                                methodname,
                                content_type)
  request.values = params
  request
rescue
  nil
end