Class XMLRPC::Create
In: lib/xmpp4r/rpc/helper/xmlrpcaddons.rb
Parent: Object
Create lib/xmpp4r/rpc/helper/xmlrpcaddons.rb XMLRPC dot/m_65_0.png

Methods

Public Instance methods

create a Method Call

name:[String] name of the method
params:[Array] params of the method as a array

[Source]

    # File lib/xmpp4r/rpc/helper/xmlrpcaddons.rb, line 18
18:     def methodCall(name, *params)
19:       name = name.to_s
20: 
21:       if name !~ /[a-zA-Z0-9_.:\/]+/
22:         raise ArgumentError, "Wrong XML-RPC method-name"
23:       end
24: 
25:       parameter = params.collect { |param|
26:         @writer.ele("param", conv2value(param))
27:       }
28: 
29:       tree = @writer.document(
30:                @writer.ele("methodCall",
31:                  @writer.tag("methodName", name),
32:                  @writer.ele("params", *parameter)
33:                )
34:              )
35: 
36:       @writer.document_to_str(tree) + "\n"
37:     end

create a response to a method call

is_ret:[TrueClass] is this a return (true) or a error (false)
params:[Array] a array of params

[Source]

    # File lib/xmpp4r/rpc/helper/xmlrpcaddons.rb, line 43
43:     def methodResponse(is_ret, *params)
44: 
45:       if is_ret
46:         begin
47:           resp = params.collect do |param|
48:             @writer.ele("param", conv2value(param))
49:           end
50: 
51:           resp = [@writer.ele("params", *resp)]
52:         rescue Exception => e
53:           error = XMLRPC::FaultException.new(XMLRPC::BasicServer::ERR_UNCAUGHT_EXCEPTION, "Uncaught exception '#{e.message}' serialising params into response")
54:           resp = @writer.ele("fault", conv2value(error.to_h))
55:         end
56:       else
57:         if params.size != 1 or params[0] === XMLRPC::FaultException
58:           raise ArgumentError, "no valid fault-structure given"
59:         end
60:         resp = @writer.ele("fault", conv2value(params[0].to_h))
61:       end
62: 
63:       tree = @writer.document(@writer.ele("methodResponse", resp))
64:       @writer.document_to_str(tree) + "\n"
65:     end

[Validate]