Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
WebServices & WSDL
Marcin Tyman
8/31/2007 8:02:00 AM
Hi guys,
Here is a part of my code (part o my class):
@soaps<<SOAP::WSDLDriverFactory.new("http://#{@Address}:#{@wsPort}/#{wsdl}").create_rpc_driver()
def method_missing(m,*args)
@soaps.each do |soap|
begin
result = soap.send("#{m}",*args)
return result
rescue NoMethodError
end
end
raise NoMethodError
puts m
end
I invoke soap.send by passing #{m} (as a WS method name) and *args are
arguments of the method which are ruby primitives (int, float, string
etc.)
But the problem is that WebServices will change and instead of
primitives their methods will get WSDL objects i.e. like that:
<complexType name="Group">
<sequence>
<element name="id" type="xsd:int"/>
<element name="inherited" type="xsd:boolean"/>
<element name="name" nillable="true" type="soapenc:string"/>
<element name="parentGroupId" type="xsd:int"/>
<element name="priority" type="xsd:int"/>
<element name="roleId" type="xsd:int"/>
</sequence>
</complexType>
How to create such object in ruby. What library can I use?
Any help will be helful
Thanks in advance
--
Posted via
http://www.ruby-...
.
3 Answers
Marcin Tyman
9/3/2007 6:26:00 AM
0
Lee Irving wrote:
> Have you tried wsdl2ruby script, this will create you a fully
> functioning
> ruby wsdl client ?
No, I haven't. But I found out about it. Ehm... We'll see how it works.
Thanks for answer.
--
Posted via
http://www.ruby-...
.
Marcin Tyman
9/3/2007 9:54:00 AM
0
Lee Irving wrote:
> Have you tried wsdl2ruby script, this will create you a fully
> functioning
> ruby wsdl client ?
can you explain how to use it. Because I realized that wsdl2ruby.rb
contains only class definition and there is no documentation for it.
--
Posted via
http://www.ruby-...
.
Felipe Contreras
9/3/2007 5:20:00 PM
0
Hi,
On 9/3/07, Marcin Tyman <m.tyman@interia.pl> wrote:
> Lee Irving wrote:
> > Have you tried wsdl2ruby script, this will create you a fully
> > functioning
> > ruby wsdl client ?
>
> can you explain how to use it. Because I realized that wsdl2ruby.rb
> contains only class definition and there is no documentation for it.
There should be a wsdl2ruby script, but AFAIK it's not usually distributed.
This is what I do:
require 'wsdl/soap/wsdl2ruby'
wsdl = WSDL::SOAP::WSDL2Ruby.new
wsdl.location = "wsdl/data/ps/ps.wsdl"
wsdl.opt['force'] = true
wsdl.opt['classdef'] = "wsdl/ps"
wsdl.opt['module_path'] = "PS"
wsdl.opt['mapping_registry'] ||= nil
wsdl.opt['driver'] ||= nil
wsdl.run
You can ask for more information in:
http://groups.google.com/gr...
--
Felipe Contreras
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
WebServices & WSDL
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password