[Libreoffice] UPR local host problem

Paul TOTH tothpaul at free.fr
Mon Jan 2 03:37:58 PST 2012


Hi,

Le 02/01/2012 14:21, Stephan Bergmann a écrit :
> On 01/02/2012 11:06 AM, Paul TOTH wrote:
>> does anyone know the URP protocol ?
>>
>> I've found very few information about it
>> http://wiki.services.openoffice.org/wiki/Uno/Remote/Specifications/Uno_Remote_Protocol
>>
>
> But that's as detailed as you can reasonably expect it to be?  ;)
> Anyway, I assume your problem is higher up the abstraction hierarchy
> than plain URP.  If there were problems establishing localhost
> connections, you would get problems already before reaching the
> loadComponentFromURL call.
>

Well I havent' found any document on how the IDs (like 
1e3ad60;uno[0];18b8;85f8da80603b478cb08cd837553b7f6d) are defined...so 
I've used Windows GUID to identify my objects instances.

>> Le 29/12/2011 11:04, Paul TOTH a écrit :
>>> I debug mode, the socket doesn't receveive anything after the message :
>>> loadComponentFrom('private_stream', '_blank', ...)
>>> and my program is still waiting a reply for ever :(
>
> Does the soffice.bin process hang displaying some message box,
> awaiting user input (or rather trying to display such a box, in case
> of --headless -- but does that even work on Windows, not sure)?  You
> might need to debug soffice.bin to find out more.
>
soffice is waiting also for something because the document is opened 
when I kill my application !

my application is a single thread process, after the protocol handcheck, 
I send a request a read answers until I get my own threadID back, 
something like :

   send_my_request(my_thread_id);
   while (get_reply->thread_id != my_thread_id) process_server_request();
   process_server_reply();

from my point of view, soffice and my application are both waiting for 
something from the other side.

it's probably something wrong in my URP implementation, but what I can't 
understand is that the same client work just fine on a remote office, 
and that a second instance of my client work also just fine on a local 
host. How can my code be wrong only on the first connexion to a local 
office ?!

BTW I agree with you, the best way to understand what's going on is to 
look at the server side, but I'm a Delphi developper, debugging 
soffice.bin is an hard task for me :)

I've made a protocol sniffer to trace Python to Office exchange...it 
does a lot of unnecessary things (XTypeProvider, XElementAccess, 
XNameAccess, XUnoTunnel.getSomething, etc...) but I can't figure what is 
missing/wrong in my code to just open a private stream.

Paul
> Stephan



More information about the LibreOffice mailing list