aboutsummaryrefslogblamecommitdiffstats
path: root/actionwebservice/TODO
blob: e753fbb1d7c249a72e16fe24718a8904047c54d1 (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                                                                  





                                                                                  
                                                               



                                       


                                                                 


                                                 

                                                              
         
 






                                                                         







                                                                                     
                                                                                



                                                                                   
= 0.4.0 Tasks
  - add ActiveRecord-like logging that includes timing information
  - rename project to 'actionwebservice', Action Web Service

= Post-0.4.0 Tasks
  - relax type-checking for XML-RPC, and perform casts between base types if there
    are mismatches (i.e. String received when Integer expected, or vice-versa)

  - support XML-RPC's "handler." method namespacing. perhaps something like:
    
      class BloggingServices < ActionWebService::LayeredService
        def initialize(request)
          @request = controller.request
        end

        web_service :mt         {MTService.new(@request)}
        web_service :blogger    {BloggerService.new(@request)}
        web_service :metaWeblog {MetaWeblogService.new(@request)}
      end

      class ApiController < ApplicationController
        web_service_dispatching_mode :delegated
        web_service :xmlrpc { BloggingServices.new(@request) }
      end

  - supported namespaced custom types in WSDL in a way that interoperates
    with .NET (.NET croaks on '::' currently)

  - simplification: collapse Router::ActionController, Router::Wsdl
    and API::ActionController into Container::ActionController.
    the seperation has gained us nothing.

= Low priority tasks
  - add better type mapping tests for XML-RPC
  - add tests for ActiveRecord support (with mock objects?)

= Refactoring
  - Find an alternative way to map interesting types for SOAP (like ActiveRecord
    model classes) that doesn't require creation of a sanitized copy object with data
    copied from the real one. Ideally this would let us get rid of
    ActionWebService::Struct altogether and provide a block that would yield the
    attributes and values. "Filters" ?  Not sure how to integrate with SOAP though.
  
  - Don't have clean way to go from SOAP Class object to the xsd:NAME type
    string -- NaHi possibly looking at remedying this situation