aboutsummaryrefslogtreecommitdiffstats
path: root/actionwebservice/lib/action_web_service/protocol/soap_protocol.rb
Commit message (Collapse)AuthorAgeFilesLines
* Add API::Base.soap_client and API::Base.xmlrpc_client helper methods to ↵Leon Breedt2005-08-121-0/+9
| | | | | | | | | | | | | | | | | construct an internal client. Example: {{{ $ ./script/console >> c = MyApi.soap_client 'http://app.com/ws/api' >> c.method arg1, arg2 }}} git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1994 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* we should respect charset for incoming messages and not assuming incoming isLeon Breedt2005-07-161-2/+12
| | | | | | | always UTF-8, and only force UTF-8 for our response. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1842 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* always send back SOAP responses as UTF-8, we can't guarantee that SOAP4RLeon Breedt2005-07-131-16/+15
| | | | | | | | | | | supports any encoding sent by caller. add documentation describing how to ensure :string types don't get converted into :base64 by SOAP4R when containing non-ASCII chars and $KCODE is not set to a value. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1822 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* fix WSDL generation, change the way protocols are instantiated, and add Leon Breedt2005-06-251-4/+12
| | | | | | | | the ability to override the namespace used in WSDL instead of always forcing 'urn:ActionWebService' git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1501 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* default to using UTF-8 as response encoding for SOAP if none isLeon Breedt2005-04-281-5/+23
| | | | | | | | supplied, but if an encoding is supplied by caller, use that for the response instead (NAKAMURA Hiroshi) git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1245 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add charset=utf-8 to SOAP response content type, and make base_uriLeon Breedt2005-04-281-1/+1
| | | | | | | | | respect relative_url_root for the endpoint of SOAP messages (Shugo Maeda). if WSDL was retrieved over HTTPS, use HTTPS in the endpoint URLs as well. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1244 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* initial go at making :layered dispatching generate WSDL for SOAP, and haveLeon Breedt2005-04-051-4/+5
| | | | | | | :layered process SOAP method calls correctly as well, may be unstable git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1097 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* be explicit about the object to do #instance_eval in for delegated dispatching,Leon Breedt2005-04-051-6/+3
| | | | | | | clean up iterations to use #zip (bitsweat), git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1090 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* * collapse 'ws' back into protocols, it just added complexity and ↵Leon Breedt2005-04-021-13/+98
| | | | | | | | | | | | | 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
* first pass of web service scaffolding. add ability to quickly generate anLeon Breedt2005-03-291-1/+7
| | | | | | | | 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
* generalize casting code to be used by both SOAP and XML-RPC (previously only ↵Leon Breedt2005-03-281-17/+1
| | | | | | | | | | 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
* 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
* Make all custom types and method calls are declared in the ↵Leon Breedt2005-02-271-7/+7
| | | | | | | | | | | | | | | | | | | | | | | '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-251-461/+35
| | | | | | | | | | | | | | | | | | | | | 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
* refactoring:Leon Breedt2005-02-191-0/+484
* 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