[horde] Horde RPC API (XML-RPC) possibilities

mrubinsk at horde.org mrubinsk at horde.org
Wed Aug 15 13:29:00 UTC 2012


Ah. I missed the fact that this was over an xml-rpc call. My  
suggestion would indeed not work.

Mike

Sent from mobile.

Attila Nagy <bra at fsn.hu> wrote:

Quoting Attila Nagy <bra at fsn.hu>> On 08/13/12 18:28, Michael J Rubinsky wrote:
>>
>> Quoting Ralf Lang <lang at b1-systems.de>:
>>
>>> Am 13.08.2012 17:05, schrieb Attila Nagy:
>>>> Hi,
>>>>
>>>> The Horde wiki (http://wiki.horde.org/Project/HordeImapLib)
>>>> proudly advertises the technical excellence of Horde_Imap_Client,
>>>> which sounds really good. I wonder, will it be possible to use it
>>>> from the RPC API with JSON and XML-RPC? Or is this possible now? (I
>>>> couldn't figure out how, apart from the few exposed functions,
>>>> which are not enough for complete mail-related operations) Other
>>>> modules have a broader spectrum of method-availability, but IMP
>>>> seems to lack these features (judging from the documentation:
>>>> http://dev.horde.org/api/imp/).
>>>>
>>>> With a nearly complete API coverage, Horde could be the basis for
>>>> other services (for example rapid interface development for
>>>> existing systems), by doing the heavy lifting itself (handling
>>>> e-mails/IMAP, contacts etc).
>>>>
>>>> Thanks,
>>>
>>> Can you list which api methods you are missing?
>>
>> IMP also exposes the imap client object directly. So, depending on  
>> exactly what you want to do, you can fetch the already  
>> authenticated imap connection and use the client object directly to  
>> do what you need.
> Over XML-RPC?
> Could you please send an example?
>
> Calling imapOb itself gives:
>>>> px.mail.imapOb()
> {'': 'Horde_Imap_Client_Utils', 'cache': '', 'cacheFields': {'11':  
> 'HICdate', '10': 'HICflags', '12': 'HICsize', '1': 'HICstruct', '9':  
> 'HICenv', '8': 'HIChdrs'}, 'changed': True}
> But for a second call:
>>>> px.mail.imapOb()
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/usr/local/lib/python2.7/xmlrpclib.py", line 1224, in __call__
>     return self.__send(self.__name, args)
>   File "/usr/local/lib/python2.7/xmlrpclib.py", line 1578, in __request
>     verbose=self.__verbose
>   File "/usr/local/lib/python2.7/xmlrpclib.py", line 1264, in request
>     return self.single_request(host, handler, request_body, verbose)
>   File "/usr/local/lib/python2.7/xmlrpclib.py", line 1297, in single_request
>     return self.parse_response(response)
>   File "/usr/local/lib/python2.7/xmlrpclib.py", line 1467, in parse_response
>     p.feed(data)
>   File "/usr/local/lib/python2.7/xmlrpclib.py", line 557, in feed
>     self._parser.Parse(data, 0)
> xml.parsers.expat.ExpatError: reference to invalid character number:  
> line 450, column 22
>
> It seems I can get a result only if I call something other before  
> it, calling more than once gives the above error.
>
> Calling a:
>>>> px.contacts.getAllAttributeValues('email',['ID'])
> {'ID:K': {'name': 'xy z', 'email': 'x at z.com'}}
> and re-issuing imapOb gives the first result, then one more call  
> gives the error.
>
> BTW, I can't see how something like mail.imapOb.getNamespace (just  
> an example) would work...
> -- 
> Horde mailing list
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: horde-unsubscribe at lists.horde.org
>




More information about the horde mailing list