NoMethodError: undefined method `add_rpc_operation' for nil:

C

Chris Gunnels

FYI: this is in a Sinatra app. Don't know if that matters though.

NoMethodError: undefined method `add_rpc_operation' for nil:NilClass
from
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/soap/rpc/httpserver.rb:95:in
`add_rpc_method_as'
from
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/soap/rpc/httpserver.rb:87:in
`add_method'
from ./soap_server/server.rb:8:in `initialize'
from (irb):5:in `new'
from (irb):5

I am running this in irb:

require 'soap/rpc/standaloneServer'
require 'soap_server/server' # includes the SoapServer class
server = SoapServer.new('hws', 'urn:hws', '127.0.0.1', 6565)

SoapServer class looks like this:

require File.dirname(__FILE__) + '/../vendor/gems/environment'
require "soap/rpc/standaloneserver"

begin
class SoapServer < SOAP::RPC::StandaloneServer
# Expose our services
def initialize(*args)
add_method(self, 'add', 'a', 'b')
add_method(self, 'div', 'a', 'b')
end

# Handler methods
def add(a, b)
return a + b
end
def div(a, b)
return a / b
end
end
rescue Exception => e
puts e.message
end
 
C

Chris Gunnels

Ok I figured it out. Smallest change, but got it to work. Seems like
super is creating an object that wasn't being created that the
initialize methods needs to run.

in the SoapServer class you need to add super before adding your
methods. It should look like this.

class SoapServer < SOAP::RPC::StandaloneServer
# Expose our services
def initialize(*args)
super
add_method(self, 'add', 'a', 'b')
add_method(self, 'div', 'a', 'b')
end

# Handler methods
def add(a, b)
return a + b
end
def div(a, b)
return a / b
end
end
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,260
Messages
2,571,039
Members
48,768
Latest member
first4landlord

Latest Threads

Top