bugzilla-4intranet/Bugzilla/WebService
vfilippov ba05b0c27a Bug 70168
git-svn-id: svn://svn.office.custis.ru/3rdparty/bugzilla.org/trunk@1057 6955db30-a419-402b-8a0d-67ecbb4d7f56
2010-11-13 16:01:26 +00:00
..
Server Bug 70168 - Новый вариант RPC API "XMLSimple": принимаются параметры по REST, ответ отдаётся простой сериализацией в XML. Сделал, ибо штатный XML-RPC, провязанный через библиотеки хз-где и хз-как имеет проблемы как минимум с обработкой ошибок. 2010-10-27 15:53:21 +00:00
Bug.pm bug 70605 2010-10-14 12:37:01 +00:00
Bugzilla.pm Bug 40933, попытки отладки веб-сервисов 2010-06-01 18:15:50 +00:00
Constants.pm Bug 40933 - Merge with Bugzilla 3.6.3 (released 2010-11-02) 2010-11-03 17:13:12 +00:00
Field.pm Bug 70168 2010-11-13 16:01:26 +00:00
Product.pm Bug 70168 2010-10-27 16:08:40 +00:00
README Bug 40933 - НЕ ДО КОНЦА оттестированная объединённая версия Bugzilla 3.6 - НИКУДА НЕ РАЗВОРАЧИВАТЬ! :) 2010-05-14 20:02:34 +00:00
Server.pm Bug 40933 - НЕ ДО КОНЦА оттестированная объединённая версия Bugzilla 3.6 - НИКУДА НЕ РАЗВОРАЧИВАТЬ! :) 2010-05-14 20:02:34 +00:00
User.pm Bug 40933 - Merge with Bugzilla 3.6.3 (released 2010-11-02) 2010-11-03 17:13:12 +00:00
Util.pm Bug 40933 - Merge with Bugzilla 3.6.2 (2010-08-05) 2010-08-10 11:15:39 +00:00

README

The class structure of these files is a little strange, and this README
explains it.

Our goal is to make JSON::RPC and XMLRPC::Lite both work with the same code.
(That is, we want to have one WebService API, and have two frontends for it.)

The problem is that these both pass different things for $self to WebService
methods.

When XMLRPC::Lite calls a method, $self is the name of the *class* the 
method is in. For example, if we call Bugzilla.version(), the first argument
is Bugzilla::WebService::Bugzilla. So in order to have $self
(our first argument) act correctly in XML-RPC, we make all WebService
classes use base qw(Bugzilla::WebService). 

When JSON::RPC calls a method, $self is the JSON-RPC *server object*. In other
words, it's an instance of Bugzilla::WebService::Server::JSONRPC. So we have
Bugzilla::WebService::Server::JSONRPC inherit from Bugzilla::WebService.