aboutsummaryrefslogtreecommitdiffstats
path: root/actionwebservice
Commit message (Collapse)AuthorAgeFilesLines
* * Fix casting of nested members in structured types if we have a signatureLeon Breedt2005-04-045-16/+22
| | | | | | | | | | | | | type available for it even if they are already of the desired type as SOAP/XML-RPC unmarshaling may have gotten it wrong: SOAP likes to always use DateTime no matter what, for example, whereas we allow a distinction between Date, DateTime and Time in the signature for convenience casting * Fix raising of exceptions by test_invoke so functional tests fail properly on exception instead of returning the exception object * Fix Struct#each_pair to yield the value and not the member type git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1089 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* don't use SyncEnumerator, its far too slow to be used in something ↵Leon Breedt2005-04-032-2/+6
| | | | | | frequently called git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1085 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* use #rescue_action in WS scaffolding so that exceptions in API methods give ↵Leon Breedt2005-04-032-24/+38
| | | | | | | | | a standard Rails error page on failure git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1076 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* remove finished tasksLeon Breedt2005-04-031-2/+3
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1075 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* allow selecting the protocol to use when invoking theLeon Breedt2005-04-035-10/+12
| | | | | | | | scaffolded method. fix bug in walking delegated container services. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1074 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* filter out embedded nil values for XML-RPCLeon Breedt2005-04-021-2/+9
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1073 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* * collapse 'ws' back into protocols, it just added complexity and ↵Leon Breedt2005-04-0250-1511/+1090
| | | | | | | | | | | | | indirection, and was hard to extend. * extract casting into seperate support file * ensure casting always does the right thing for return values, should fix interoperability issues with Ecto and possibly other XML-RPC clients * add functional unit tests for scaffolding * represent signature items with classes instead of symbols/Class objects, much more flexible * tweak logging to always show casted versions of parameters and return values, if possible. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1072 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Removed broken attempt to DRY module ClassMethod #970David Heinemeier Hansson2005-04-021-0/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1069 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Automatically extend the class which gets a module included with the ↵David Heinemeier Hansson2005-04-021-5/+0
| | | | | | ClassMethods module if it exists #970 [Lucas Carlson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1068 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added install.rbs for all frameworks and made all of them generic enough not ↵David Heinemeier Hansson2005-04-021-0/+30
| | | | | | to require maintenance #1013, #1012 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1053 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* display the amount of time taken to invoke a scaffolding requestLeon Breedt2005-03-312-5/+13
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1044 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* remove ActiveRecordSoapMarshallable, can't reproduce the problem it was ↵Leon Breedt2005-03-312-14/+2
| | | | | | intended to fix. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1043 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* first pass of web service scaffolding. add ability to quickly generate anLeon Breedt2005-03-2919-28/+451
| | | | | | | | action pack request for a protocol, add missing log_error when we fail to parse protocol messages. add RDoc for scaffolding and functional testing. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1037 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* remove wrongheaded uses of "rescue nil" if it will mask a useful exception. ↵Leon Breedt2005-03-293-13/+6
| | | | | | | | | also include the whole backtrace in the 500 error response body if exception reporting is turned on (the default). git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1035 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* don't hide exceptions when we fail to parse XML-RPC messages.Leon Breedt2005-03-282-4/+7
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1031 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* generalize casting code to be used by both SOAP and XML-RPC (previously only ↵Leon Breedt2005-03-2819-249/+432
| | | | | | | | | | XML-RPC). switch to better model for API methods, and improve the ability to generate protocol requests/response, will be required by upcoming scaffolding. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1030 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Made ready for the release of 0.11.1David Heinemeier Hansson2005-03-272-6/+8
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1023 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Made ready for better release automationDavid Heinemeier Hansson2005-03-271-0/+120
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1021 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* allow direct dispatching methods to declare their parameters as well, for ↵Leon Breedt2005-03-265-5/+34
| | | | | | | | | | brevity's sake, it seems to be counter-intuitive not to do so (closes #939). update gem require versions. fix unit tests for exception de-shallowing changes. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@992 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that MissingSourceFile's wasn't properly detected in production mode ↵David Heinemeier Hansson2005-03-251-1/+1
| | | | | | #925 [Nicholas Seckar] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@990 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Improved error reporting especially around never shallowing exceptions. ↵David Heinemeier Hansson2005-03-231-3/+6
| | | | | | Debugging helpers should be much easier now #980 [Nicholas Seckar] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@984 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed documentation and prepared for 0.11.0 releaseDavid Heinemeier Hansson2005-03-222-6/+6
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@976 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added documentation and fixed an ajax bugDavid Heinemeier Hansson2005-03-221-1/+3
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@974 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add missing entriesLeon Breedt2005-03-201-1/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@921 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* make the response QName match up with that declared for the message in theLeon Breedt2005-03-201-1/+1
| | | | | | | | WSDL, to not do so violates the spec. also fixes this error that occurred with SOAP::WSDLDriverFactory: "RuntimeError: Cannot find {}return as a children of {urn:ServiceName}messageName" git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@920 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* dup the value received from @request, so we modify the copy and not the ↵Leon Breedt2005-03-151-0/+1
| | | | | | | | | original, and avoid frozen errors. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@912 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* allow 0, 1, '0' or '1' to be cast to the appropriate values for booleanLeon Breedt2005-03-1011-135/+246
| | | | | | | | | values. update XML-RPC example to work in :layered mode. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@883 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* change type of faultCode in marshaled SOAP faults to a QName,Leon Breedt2005-03-101-1/+1
| | | | | | | and its value to 'Server' in the SOAP namespace. should fix #804. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@882 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Prepared for 0.10.1 releaseDavid Heinemeier Hansson2005-03-072-5/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@874 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add action_web_service/test_invoke, will be used by for testing APIs inLeon Breedt2005-03-047-3/+223
| | | | | | | a Rails project instance. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@830 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* allow the client to specify options to be passed through to the underlyingLeon Breedt2005-03-031-0/+17
| | | | | | | | SOAP::RPC::Driver. add to RDoc an example of using these options to configure SSL client-certificate authenticated connections to the server. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@826 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* make the marshaler use the same set of columns as the code that generatesLeon Breedt2005-03-023-1/+13
| | | | | | | WSDL, avoids mismatches when there are associations in the AR model class. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@825 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add missing entry for #allow_active_record_expectsLeon Breedt2005-03-021-0/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@823 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add allow_active_record_expects option to ActionWebService::API::Base,Leon Breedt2005-02-282-1/+11
| | | | | | | | but set the default to false so people don't use it without thinking about the consequences. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@815 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* drop version back down to 0.5.0 so that we can use 0.6.0 for the realLeon Breedt2005-02-271-1/+1
| | | | | | | next release. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@812 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Make all custom types and method calls are declared in the ↵Leon Breedt2005-02-2721-113/+348
| | | | | | | | | | | | | | | | | | | | | | | 'urn:ActionWebService' namespace as a default, fixes SOAP marshaling for .NET, a regression since the merge. Make array annotation be recursive in WS::Marshaling::SoapMarshaling, this makes typed arrays buried in nested structures still be annotated correctly. Support :layered dispatching mode for XML-RPC namespaced method names. Change WS::ParamInfo.create signature to require type_binding, and update all uses of this. Restore #default_api_method functionality, fixes a regression since the merge. Fix marshalling of ActiveRecord::Base derivatives, fixes a regression since the merge. This changeset closes #676, #677, and #678. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@811 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* merged the changes for the upcoming 0.6.0:Leon Breedt2005-02-2562-2079/+2180
| | | | | | | | | | | | | | | | | | | | | seperate out protocol marshaling into a small 'ws' library in vendor, so that AWS itself only does integration with ActionPack, and so we can keep protocol specific code in AWS proper to a minimum. refactor unit tests to get 95% code coverage (for a baseline). be far more relaxed about the types given to us by the remote side, don't do any poor man's type checking, just try to cast and marshal to the correct types if possible, and if not, return what they gave us anyway. this should make interoperating with fuzzy XML-RPC clients easier. if exception reporting is turned on, do best-effort error responses, so that we can avoid "Internal protocol error" with no details if there is a bug in AWS itself. also perform extensive cleanups on AWS proper. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@800 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Tagged the 0.10.0 releaseDavid Heinemeier Hansson2005-02-251-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@799 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* handle elapsed times that are nil in #log_response (happens when API methodLeon Breedt2005-02-251-1/+1
| | | | | | | | throws an exception). this fixes exception marshaling so that remote callers get a proper stack trace. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@798 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Marked for releaseDavid Heinemeier Hansson2005-02-241-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@796 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Made ready for 0.10.0 releaseDavid Heinemeier Hansson2005-02-241-6/+6
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@795 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add code coverage testing scripts, remove dead codeLeon Breedt2005-02-206-42/+9
| | | | | | | detected by said scripts git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@708 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* ensure clients can handle APIs with named parameter signatures,Leon Breedt2005-02-196-4/+29
| | | | | | | and test for this git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@680 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* refactoring:Leon Breedt2005-02-1924-551/+404
| | | | | | | | | | | | | | | | | | | | | * move dispatching out of the Container into Dispatcher, it makes more sense for Container to only contain the list of web services defined in it. * collapse Wsdl and ActionController "routers" into an ActionController-specific module, no advantage to having them seperate as they were quite tightly coupled. rename to Dispatcher, to avoi confusion with Routing. * add a "_thing" suffix to concept-specific filenames. this is so that we don't end up with many soap.rb files, for example. * remove "virtual invocation" support. adds complexity, and it doesn't seem to add any value. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@679 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* rename entire package to Action Web ServiceLeon Breedt2005-02-1850-222/+217
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@672 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Renamed Action Service to Action Web ServiceDavid Heinemeier Hansson2005-02-1853-0/+6319
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@669 5ecf4fe2-1ee6-0310-87b1-e25e094e27de