Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #594 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

[RESEARCH] ActionService: WSDL/SOAP and XML-RPC server-side support for Action Pack

Reported by: bitserf@gmail.com Assigned to: bitserf@gmail.com
Priority: normal Milestone:
Component: ActionPack Version: 0.9.5
Severity: normal Keywords:
Cc:

Description

I've completed the WSDL/SOAP portion to my initial satisfaction so far.

XML-RPC is of yet (2004-02-07) in a planning phase, no code exists for it.

You can check out the source code from here:

http://svn.xeraph.org/repos/actionservice/trunk

The public API (as defined by !ActionService::Base and !ActionService::Container) I'm fairly happy with, but no guarantees about interface stability until a public release.

See 'examples/soap' in the source code for an example implementation of a service like "GoogleSearch". The README contains instructions for doing a test with Mono/.NET.

Change History

02/07/05 00:35:51 changed by bitserf@gmail.com

Oh, and no RDoc documentation until the public release. Sorry :)

02/07/05 22:35:49 changed by bitserf@gmail.com

the latest release in trunk (and 0.2.100 Gem) now include preliminary support for XML-RPC.

all the various XML-RPC introspection methods are not supported yet, but 'system.listMethods' is.

02/11/05 12:50:12 changed by bitserf@gmail.com

trunk now includes support for using ActiveRecord model classes in return signatures.

this means generated WSDL for an ActiveRecord model will declare a datatype containing as members the columns, and having the correct types. this removes the requirement to create 'wrapper structs' if you want to return model objects, you can just return them.

02/12/05 09:32:56 changed by bitserf@gmail.com

trunk now includes an additional new (also the default) dispatching model: "Direct". This means that the controller itself is the service, and methods on the controller can be exported.

Example (also showing named parameter declaration):

class BloggerController < ActionController::Base
  def someMethod
  end

  export :someMethod, :expects => [{:blogid=>String}, {:username=>String}, {:password=>String}]
end

02/12/05 09:40:55 changed by bitserf@gmail.com

the 0.2.102 gem also contains these features.

02/18/05 11:32:41 changed by bitserf@gmail.com

  • status changed from new to closed.
  • resolution set to fixed.

integrated into main repository.