On Wed, 2 Mar 2005 11:51:51 -0600, Chris Brinker <chris.brinker-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> I was talking on #rubyonrails some more and they seem to think that > the model classes have to be copy and pasted/available to the > ruby:client, in addition to the api. I find this advice a little odd > considering .Net and apparently ColdfusionMX need no such things to > consume these services... are these problems just the clients > immaturity shining through? have I been getting bad advice? or am I > just missing some very large piece of the puzzle?The scope of the client is really very specific at this point: Communication between interdependent applications. Its also handy for testing your APIs using ./script/console. In these cases, it would be a pain and inefficient to generate clients from WSDL and do your own marshaling into your model types again, when you''ve already got the API description. But anything beyond that really falls outside of the scope of Action Web Service while there still remains things like web service scaffolding, web service generators, and web service integration with the test infrastructure to implement. Right now, I want to get the process of serving APIs a lot better before I think about diverging into things like full-featured clients. Also, please bear in mind AWS was written in ~3 weeks, with no prior WSDL/SOAP or XML-RPC experience, so yes, it will be somewhat less full featured compared to .NET and Java at this juncture :) Anyhow, the Ruby SOAP bindings already have good client support, have you had any success with "soap/wsdlDriver"? I.e.: require "soap/wsdlDriver" factory = SOAP::WSDLDriverFactory.new("http://url/to/wsdl") client = factory.createDriver ret = client.someMethod(arg1, arg2) The main disadvantage of this approach of course being that any custom structured types will not have the same ancestry as the real ones, but if your client is completely seperate from the server, that should be fine. Regards Leon