Object.id problem

A

Alex Amat

Hi yet another Soap problem

I have a web service with a method called {}id however when i call this
method project.id it returns the Object id instead of calling the method
id.

Any ideas on how to call the method id
 
M

MikeGee

I have a web service with a method called {}id however when i call this
method project.id it returns the Object id instead of calling the method
id.

Any ideas on how to call the method id

project.send:)id)
 
A

Alin Popa

Alex said:
Hi yet another Soap problem

I have a web service with a method called {}id however when i call this
method project.id it returns the Object id instead of calling the method
id.

Any ideas on how to call the method id

Hi Alex,

Can you tell us please, how do you make the call ? (maybe an example
will be helpful).

Thanks.

Alin.
 
A

Alin Popa

Alin said:
Hi Alex,

Can you tell us please, how do you make the call ? (maybe an example
will be helpful).

Thanks.

Alin.

I've tried in 2 ways and it's working:

1:

#!/usr/bin/ruby
require 'soap/rpc/driver'
drv=SOAP::RPC::Driver.new('http://localhost:8080/axis/Ids.jws')
drv.add_method("id")
puts drv.id

2:

#!/usr/bin/ruby
require 'soap/wsdlDriver'
wsdl = "http://localhost:8080/axis/Ids.jws?wsdl"
driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
puts driver.id
 
T

Tom Pollard

I have a web service with a method called {}id however when i call
this
method project.id it returns the Object id instead of calling the
method
id.

Any ideas on how to call the method id

I've run into the same problem. My conclusion is that 'id' is
effectively a reserved method name in Ruby, and you simply need to
avoid creating your own 'id' method. I just don't see how a custom
'id' method could possibly avoid interfering with Object#id.

Tom
 
T

Tim Hunter

Tom said:
I've run into the same problem. My conclusion is that 'id' is
effectively a reserved method name in Ruby, and you simply need to avoid
creating your own 'id' method. I just don't see how a custom 'id'
method could possibly avoid interfering with Object#id.

Tom

Use __id__ instead of just id.

C:\temp>irb
irb(main):001:0> class Foo
irb(main):002:1> def id
irb(main):003:2> return "HELLO"
irb(main):004:2> end
irb(main):005:1> end
=> nil
irb(main):006:0> f = Foo.new
=> #<Foo:0x2939490>
irb(main):007:0> f.id
=> "HELLO"
irb(main):008:0> f.__id__
=> 21613128
irb(main):009:0>
 
T

Tom Pollard

Use __id__ instead of just id.

My concern was that other parts of the Ruby infrastructure would
depend on the 'id' method to be Object#id. Is Object#id really just
an alias for Object#__id__ , and so it's safe to redefine it?

Thanks,

Tom
 
D

Dan Manges

It's safe to define your own 'id' method - using .id to get the object
id is deprecated.

irb(main):001:0> Object.new.id
(irb):1: warning: Object#id will be deprecated; use Object#object_id
=> 24272204
irb(main):002:0> RUBY_VERSION
=> "1.8.4"
irb(main):003:0>

Dan Manges
 
T

Tom Pollard

It's safe to define your own 'id' method - using .id to get the object
id is deprecated.

irb(main):001:0> Object.new.id
(irb):1: warning: Object#id will be deprecated; use Object#object_id
=> 24272204
irb(main):002:0> RUBY_VERSION
=> "1.8.4"
irb(main):003:0>

Thanks!

Tom
 
A

Alex Amat

Hi guys sorry for taking so long to answer I been away form the computer
for a bit.

The following is the code that i use to call the method id:

soap_client = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
soap_client.options["protocol.http.basic_auth"] << ['wsdl, user,
password]

@projects = soap_client.getProjects()
for project in @projects
puts project.id
end

and that gives me the Object#id not the 'project id' which is what I
need, if I could i would rewrite the method and call it getId but I did
not write it and I don't have access to it anyway.

Thanks for all your help
 

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

No members online now.

Forum statistics

Threads
474,230
Messages
2,571,161
Members
47,796
Latest member
AlphonseNa

Latest Threads

Top