Ryan Leavengood wrote:

> I'm not a SOAP or WSDL expert so I can't answer your first question,
> but as for your second:
> 
> Dynamic languages like Ruby don't need something like WSDL because
> method calls can be intercepted and/or created on the fly. There is no
> need for hard interfaces or static declarations that languages like
> Java or C++ would need. For more information read the documentation
> for the Ruby methods called "method_missing" and "define_method", and
> also take a look at Ruby's distributed object library called DRb.

WSDL is not (just) about static type declarations.  It is a way of 
publishing a list of services and how to invoke them.  For example, Web 
sites are an instance of dynamic method invocation, but you still need 
to know a URL before you can hit it.  You can try fetching arbitrary 
pages from sites, but it would be better to know the valid URLs and what 
they will return.

WSDL may be something like Ruby's "respond_to?"  or "public_methods".

The services defined by WSDL do not have to map to any particular code 
at the end point; the end point is simple using WSDL to assert that, if 
you send a message in a given format, it will do something useful.  As 
with Ruby code, exactly how that happens is none of the client's 
business; the client and message sent need not know anything about the 
implementation, and your entire Web service could be built around 
method_missing.  But that doesn't make a public services description 
less usefull; clients may still need it to determine if you offer what 
they want.



James

-- 

http://www.ruby-doc.org       - Ruby Help & Documentation
http://www.artima.com/rubycs/ - Ruby Code & Style: Writers wanted
http://www.rubystuff.com      - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com     - Playing with Better Toys
http://www.30secondrule.com   - Building Better Tools