aboutsummaryrefslogtreecommitdiffstats
path: root/actionwebservice/TODO
blob: 4ee7545de56eb46b2f8e7c9743f2466e340a9d66 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
= 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 < ActionService::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

= 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
    ActionService::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