Class SOAP::RPC::SOAPMethodRequest
In: lib/soap/rpc/element.rb
Parent: SOAPMethod

Methods

Attributes

soapaction  [RW] 

Public Class methods

[Source]

     # File lib/soap/rpc/element.rb, line 221
221:   def SOAPMethodRequest.create_request(qname, *params)
222:     param_def = []
223:     param_value = []
224:     i = 0
225:     params.each do |param|
226:       param_name = "p#{i}"
227:       i += 1
228:       param_def << [IN, param_name, nil]
229:       param_value << [param_name, param]
230:     end
231:     param_def << [RETVAL, 'return', nil]
232:     o = new(qname, param_def)
233:     o.set_param(param_value)
234:     o
235:   end

[Source]

     # File lib/soap/rpc/element.rb, line 237
237:   def initialize(qname, param_def = nil, soapaction = nil)
238:     check_elename(qname)
239:     super(qname, param_def)
240:     @soapaction = soapaction
241:   end

Public Instance methods

[Source]

     # File lib/soap/rpc/element.rb, line 258
258:   def create_method_response(response_name = nil)
259:     response_name ||=
260:       XSD::QName.new(@elename.namespace, @elename.name + 'Response')
261:     SOAPMethodResponse.new(response_name, @param_def)
262:   end

[Source]

     # File lib/soap/rpc/element.rb, line 252
252:   def dup
253:     req = self.class.new(@elename.dup, @param_def, @soapaction)
254:     req.encodingstyle = @encodingstyle
255:     req
256:   end

[Source]

     # File lib/soap/rpc/element.rb, line 243
243:   def each
244:     input_params.each do |name|
245:       unless @inparam[name]
246:         raise ParameterError.new("parameter: #{name} was not given")
247:       end
248:       yield(name, @inparam[name])
249:     end
250:   end

Private Instance methods

[Source]

     # File lib/soap/rpc/element.rb, line 266
266:   def check_elename(qname)
267:     # NCName & ruby's method name
268:     unless /\A[\w_][\w\d_\-]*\z/ =~ qname.name
269:       raise MethodDefinitionError.new("element name '#{qname.name}' not allowed")
270:     end
271:   end

[Validate]