Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] Troubles with Datashare over XMPP

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Scott.

I have tried Channel Test on my gmail accounts, but it does not work
correctly.

I got in the OSGi console:

receivercontainerid=GUID[LFJWsv2VjBREyKuZONkNTMENAXo=];
fromcontainerid=GUID[LFJWsv2VjBREyKuZONkNTMENAXo=];
channelid=StringID[channel]

event=ChannelMessageEvent[channelid=StringID[channel];fromid=GUID[LFJWsv2VjBREyKuZONkNTMENAXo=];data=[B@1cc2f42]
   message=hello

receivercontainerid=GUID[1miXQC+k9p01gzrzh+IpJurt+cc=];
fromcontainerid=GUID[1miXQC+k9p01gzrzh+IpJurt+cc=];
channelid=StringID[channel]

event=ChannelMessageEvent[channelid=StringID[channel];fromid=GUID[1miXQC+k9p01gzrzh+IpJurt+cc=];data=[B@22d5b5]
   message=hello

i.e. receivercontainerid == fromcontainerid

In debug window same error than I sent before. To my regret, Error
message isn't included in XMPP message, only error code.




Scott Lewis пишет:
> Hi Pavel,
> 
> I think I may have this sorted out.
> 
> So, first I created and released a new xmpp test:
> 
> org.eclipse.ecf.tests.provider.xmpp.datashare.ChannelTest
> 
> This test works properly with my two gmail accounts specified as system
> properties (e.g.)
> 
> -Dusername0=user0@xxxxxxxxx -Dpassword0=pw0
> -Dusername1=user1@xxxxxxxxx -Dpassword1=pw1
> -Dsmack.debugEnabled=true
> 
> I would appreciated it if you would try this test with your initial
> accounts.
> 
> In looking at your code, I think the problem is with this line:
> 
> _container = ContainerFactory.getDefault().createContainer(XMPP_CONTAINER,
>                System.getProperty(XMPP_ACCOUNT_ID));
> 
> It should rather be:
> 
> _container = ContainerFactory.getDefault().createContainer(XMPP_CONTAINER);
> 
> 
> The reason for this is that the containerID (that's created for the
> container via this factory method) is *not* intended to be the same as
> the account that is connected to (i.e. the 'targetID' passed into
> container.connect(targetID, context)).
> 
> In your createContainer call above, you specify the XMPP_ACCOUNT_ID for
> the containerID...and so that String is used for both the containerID
> *and* for the targetID...i.e. what targetID the container connects
> *to*.  These should never be the same, actually...as the containerID
> should be unique relative to the server that it is connecting to
> (represented by the connect targetID).  So in your case the containerID
> *is* the same as the connect targetID, and the message just gets
> delivered *back* to the originator (and not sent onto the target).
> 
> So, in short, if you change the createContainer call above to create a
> new ID for your client container, I suspect things will most probably
> work for you.
> 
> Please do let all know if this does/doesn't settle things for you.  If
> not and I'm wrong...then we'll try again.
> 
> Thanks,
> 
> Scott
> 
> 
> Samolisov Pavel wrote:
> 
> Scott, I create container by following code:
> 
> _container =
> ContainerFactory.getDefault().createContainer(XMPP_CONTAINER,
>                 System.getProperty(XMPP_ACCOUNT_ID));
> 
> but container hasn't readable ID.
> 
> The message to="pavel.samolisov@xxxxxxxxx/"...is the message that I
> sended.
> 
> The message
> <message id="9Q3m5-4" to="samolisov@xxxxxxxxx/ecf.samoliF3FE20D2"
> from="pavel.samolisov@xxxxxxxxx/" type="error">
> 
> is error message that I received and ChannelListener in my bundle reacts
> on this message.
> 
> samolisov@xxxxxxxxx sends message to pavel.samolisov@xxxxxxxxx
> samolisov@xxxxxxxxx receives message from pavel.samolisov@xxxxxxxxx
> (error message but this message include sended data).
> pavel.samolisov@xxxxxxxxx does not receive message that sended by
> samolisov@xxxxxxxxx
> 
> I do not send any others messages.
> 
> 
> Scott Lewis ?8H5B:
>  
>>>> Hi Pavel,
>>>>
>>>> Thanks for sticking with this...we'll track down the issue one way or
>>>> another.
>>>>
>>>> Samolisov Pavel wrote:
>>>>    
>>>>> Thanks for your help, Scott!
>>>>>
>>>>> I try it on gmail.com only.
>>>>>
>>>>> I send data from samolisov@xxxxxxxxx to pavel.samolisov@xxxxxxxxx and
>>>>> add -Dsmack.debugEnabled=true to my run configuration.
>>>>>
>>>>> But it does not work correct :-(
>>>>>
>>>>> I send data (over DataSharing API Channel) from samolisov@xxxxxxxxx to
>>>>> pavel.samolisov@xxxxxxxxx
>>>>>
>>>>> In Smack Debug Window I can see:
>>>>>
>>>>> <message id="9Q3m5-4" to="pavel.samolisov@xxxxxxxxx/" type="chat">
>>>>>   <thread>N4E940</thread>
>>>>>   <properties
>>>>> xmlns="http://www.jivesoftware.com/xmlns/xmpp/properties";>
>>>>>     <property>
>>>>> <name>org.eclipse.ecf.internal.provider.xmpp.smack.ECFConnection.object</name>
>>>>>
>>>>>
>>>>>       <value
>>>>> type="java-object">rO0ABXVyAAJbQqzzF/gGCFTgAgAAeHAAAAT1rO0ABXNyADFvcmcuZWNsaXBzZS5lY2YucHJvdmlkZXIuZ2VuZXJpYy5Db250YWluZXJNZXNzYWdlLTM5MzA2OTECAARKAAhzZXF1ZW5jZUwABGRhdGF0ABZMamF2YS9pby9TZXJpYWxpemFibGU7TAAPZnJvbUNvbnRhaW5lcklEdAAiTG9yZy9lY2xpcHNlL2VjZi9jb3JlL2lkZW50aXR5L0lEO0wADXRvQ29udGFpbmVySURxAH4AAnhwAAAAAAAAAABzcgBFb3JnLmVjbGlwc2UuZWNmLnByb3ZpZGVyLmdlbmVyaWMuQ29udGFpbmVyTWVzc2FnZSRTaGFyZWRPYmplY3RNZXNzYWdlLTQwODk2NzECAAJMAARkYXRhcQB+AAFMABJmcm9tU2hhcmVkT2JqZWN0SURxAH4AAnhwdXIAAltCrPMX+AYIVOACAAB4cAAAAK2s7QAFc3IAOW9yZy5lY2xpcHNlLmVjZi5wcm92aWRlci5kYXRhc2hhcmUuQmFzZUNoYW5uZWwkQ2hhbm5lbE1zZ33On1Dn0agYAgABWwALY2hhbm5lbERhdGF0AAJbQncJAAdjaGFubmVseHB1cgACW0Ks8xf4BghU4AIAAHcJAAdjaGFubmVseHAAAAAfSGVsbG8gZnJvbSBzYW1vbGlzb3ZAZ21haWwuY29tIXNyACZvcmcuZWNsaXBzZS5lY2YuY29yZS5pZGVudGl0eS5TdHJpbmdJRC0xMDcwMTk0AgABTAAFdmFsdWV0ABJMamF2YS9sYW5nL1N0cmluZzt4cgAkb3JnLmVjbGlwc2UuZWNmLmNvcmUuaWRlbnRpdHkuQmFzZUlEqV3U6TB39y4CAAFMAAluYW1lc3BhY2V0AClMb3JnL2VjbGlwc2UvZWNmL2NvcmUvaWRlbnRpdHkvT
mFt
>>>>>
>>>>>       
> ZXN
>  
>>>>> wYWNlO3hwc3IAOG9yZy5lY2xpcHNlLmVjZi5jb3JlLmlkZW50aXR5LlN0cmluZ0lEJFN0cmluZ0lETmFtZXNwYWNlbfiysG4/ewsCAAB4cgAnb3JnLmVjbGlwc2UuZWNmLmNvcmUuaWRlbnRpdHkuTmFtZXNwYWNlNzA4NTIyMTgCAARJAAhoYXNoQ29kZVoADWlzSW5pdGlhbGl6ZWRMAAtkZXNjcmlwdGlvbnEAfgAJTAAEbmFtZXEAfgAJeHDM7OAkAXQAElN0cmluZ0lEIE5hbWVzcGFjZXQAJm9yZy5lY2xpcHNlLmVjZi5jb3JlLmlkZW50aXR5LlN0cmluZ0lEdAAHY2hhbm5lbHNxAH4ACHEAfgAPdAATc2Ftb2xpc292QGdtYWlsLmNvbXNyAC1vcmcuZWNsaXBzZS5lY2YucHJvdmlkZXIueG1wcC5pZGVudGl0eS5YTVBQSUQtNDc3MjkxNAIABEkABHBvcnRMAAhob3N0bmFtZXEAfgAJTAAMcmVzb3VyY2VuYW1lcQB+AAlMAAh1c2VybmFtZXEAfgAJeHEAfgAKc3IANG9yZy5lY2xpcHNlLmVjZi5wcm92aWRlci54bXBwLmlkZW50aXR5LlhNUFBOYW1lc3BhY2UtNTYzMzk3NgIAAHhxAH4ADiGuWlsBdAAOWE1QUCBOYW1lc3BhY2V0AAhlY2YueG1wcP////90AAlnbWFpbC5jb21wdAAPcGF2ZWwuc2Ftb2xpc292</value>
>>>>>
>>>>>
>>>>>     </property>
>>>>>   </properties>
>>>>> </message>
>>>>>
>>>>> And not long after:
>>>>>
>>>>> <message id="9Q3m5-4" to="samolisov@xxxxxxxxx/ecf.samoliF3FE20D2"
>>>>> from="pavel.samolisov@xxxxxxxxx/" type="error">
>>>>>   <thread>N4E940</thread>
>>>>>   <error code="400"/>
>>>>>   <properties
>>>>> xmlns="http://www.jivesoftware.com/xmlns/xmpp/properties";>
>>>>>     <property>
>>>>>
>>>>> <name>org.eclipse.ecf.internal.provider.xmpp.smack.ECFConnection.object</name>
>>>>>
>>>>>
>>>>>       <value
>>>>> type="java-object">rO0ABXVyAAJbQqzzF/gGCFTgAgAAeHAAAAT1rO0ABXNyADFvcmcuZWNsaXBzZS5lY2YucHJvdmlkZXIuZ2VuZXJpYy5Db250YWluZXJNZXNzYWdlLTM5MzA2OTECAARKAAhzZXF1ZW5jZUwABGRhdGF0ABZMamF2YS9pby9TZXJpYWxpemFibGU7TAAPZnJvbUNvbnRhaW5lcklEdAAiTG9yZy9lY2xpcHNlL2VjZi9jb3JlL2lkZW50aXR5L0lEO0wADXRvQ29udGFpbmVySURxAH4AAnhwAAAAAAAAAABzcgBFb3JnLmVjbGlwc2UuZWNmLnByb3ZpZGVyLmdlbmVyaWMuQ29udGFpbmVyTWVzc2FnZSRTaGFyZWRPYmplY3RNZXNzYWdlLTQwODk2NzECAAJMAARkYXRhcQB+AAFMABJmcm9tU2hhcmVkT2JqZWN0SURxAH4AAnhwdXIAAltCrPMX+AYIVOACAAB4cAAAAK2s7QAFc3IAOW9yZy5lY2xpcHNlLmVjZi5wcm92aWRlci5kYXRhc2hhcmUuQmFzZUNoYW5uZWwkQ2hhbm5lbE1zZ33On1Dn0agYAgABWwALY2hhbm5lbERhdGF0AAJbQncJAAdjaGFubmVseHB1cgACW0Ks8xf4BghU4AIAAHcJAAdjaGFubmVseHAAAAAfSGVsbG8gZnJvbSBzYW1vbGlzb3ZAZ21haWwuY29tIXNyACZvcmcuZWNsaXBzZS5lY2YuY29yZS5pZGVudGl0eS5TdHJpbmdJRC0xMDcwMTk0AgABTAAFdmFsdWV0ABJMamF2YS9sYW5nL1N0cmluZzt4cgAkb3JnLmVjbGlwc2UuZWNmLmNvcmUuaWRlbnRpdHkuQmFzZUlEqV3U6TB39y4CAAFMAAluYW1lc3BhY2V0AClMb3JnL2VjbGlwc2UvZWNmL2NvcmUvaWRlbnRpdHkvT
mFt
>>>>>
>>>>>       
> ZXN
>  
>>>>> wYWNlO3hwc3IAOG9yZy5lY2xpcHNlLmVjZi5jb3JlLmlkZW50aXR5LlN0cmluZ0lEJFN0cmluZ0lETmFtZXNwYWNlbfiysG4/ewsCAAB4cgAnb3JnLmVjbGlwc2UuZWNmLmNvcmUuaWRlbnRpdHkuTmFtZXNwYWNlNzA4NTIyMTgCAARJAAhoYXNoQ29kZVoADWlzSW5pdGlhbGl6ZWRMAAtkZXNjcmlwdGlvbnEAfgAJTAAEbmFtZXEAfgAJeHDM7OAkAXQAElN0cmluZ0lEIE5hbWVzcGFjZXQAJm9yZy5lY2xpcHNlLmVjZi5jb3JlLmlkZW50aXR5LlN0cmluZ0lEdAAHY2hhbm5lbHNxAH4ACHEAfgAPdAATc2Ftb2xpc292QGdtYWlsLmNvbXNyAC1vcmcuZWNsaXBzZS5lY2YucHJvdmlkZXIueG1wcC5pZGVudGl0eS5YTVBQSUQtNDc3MjkxNAIABEkABHBvcnRMAAhob3N0bmFtZXEAfgAJTAAMcmVzb3VyY2VuYW1lcQB+AAlMAAh1c2VybmFtZXEAfgAJeHEAfgAKc3IANG9yZy5lY2xpcHNlLmVjZi5wcm92aWRlci54bXBwLmlkZW50aXR5LlhNUFBOYW1lc3BhY2UtNTYzMzk3NgIAAHhxAH4ADiGuWlsBdAAOWE1QUCBOYW1lc3BhY2V0AAhlY2YueG1wcP////90AAlnbWFpbC5jb21wdAAPcGF2ZWwuc2Ftb2xpc292</value>
>>>>>
>>>>>
>>>>>     </property>
>>>>>   </properties>
>>>>> </message>
>>>>>         
>>>> I just want to clarify...which containers (and their associated
>>>> connections) are sending/receiving the above?
>>>>
>>>> It looks like the message sent is to="pavel.samolisov@xxxxxxxxx/"...is
>>>> the following message (with
>>>>
>>>> to="samolisov@xxxxxxxxx/ecf.samoliF3FE20D2") the *result/received
> 
>>>> message* or is it another message being sent?
>>>>
>>>> If you could label the above with the sender container id and the
>>>> receiver container id it would/will help.
>>>>
>>>> In the mean time, I will take your code and try to run it with my own
>>>> gmail accounts to see if I can determine what's happening.
>>>>
>>>> Also, today I'm creating a datashare test case for the xmpp provider,
>>>> which we can use to test this (and other behavior) with two arbitrary
>>>> xmpp accounts.
>>>>
>>>> Thanks,
>>>>
>>>> Scott
>>>>
>>>>
>>>>
>>>>    
>>>>> I do not understand what is this error?
>>>>>
>>>>> I have attached my code to the letter. Could you watch it?
>>>>>
>>>>> Thanks.
>>>>>
>>>>>
>>>>> Scott Lewis ?8H5B:
>>>>>  
>>>>>      
>>>>>> Hi Pavel,
>>>>>>
>>>>>> I cannot currently duplicate this, so we're going to have to figure
>>>>>> out
>>>>>> a way for me to collect enough information to debug.
>>>>>>
>>>>>> One initial thought...could you run both clients with Smack
>>>>>> debugging on
>>>>>> (i.e. system property:  -Dsmack.debugEnabled=true) and capture the
>>>>>> sent
>>>>>> and received packets for both clients?  Please edit out the
>>>>>> passwords in
>>>>>> the xml data.
>>>>>>
>>>>>> Also, what is the XMPP server at samolisov@xxxxx (i.e. what server
>>>>>> software)?  And who configures it?
>>>>>>
>>>>>> Finally, if you wish you can run the tests in
>>>>>> org.eclipse.ecf.tests.provider.xmpp with these two accounts.  The
>>>>>> tests
>>>>>> require system properties to specify the account/pw information...i.e.
>>>>>> here's an example
>>>>>>
>>>>>> -Dusername0=user0@xxxxxxxxx
>>>>>> -Dpassword0=user0pw
>>>>>> -Dusername1=user1@xxxxxxxxx
>>>>>> -Dpassword1=user1pw
>>>>>> -Dchat.room.name=ecf
>>>>>> -Dsmack.debugEnabled=true
>>>>>>
>>>>>> You will need to change the username?/password? info appropriately for
>>>>>> the two accounts.  The test that you should probably run is
>>>>>> org.eclipse.ecf.tests.provider.xmpp.remoteservice.RemoteServiceTest...many
>>>>>>
>>>>>>
>>>>>> of the other tests in that project test the chat room access (and
>>>>>> gmail
>>>>>> has no chat room capability), so those tests aren't relevant.
>>>>>>
>>>>>> Finally, another option is that if you have access to creating an
>>>>>> account on the ya.ru system for me (e.g. a guest or test account), I
>>>>>> will try out the tests against my gmail/gtalk account.  So if you are
>>>>>> able to create an account on ya.ru xmpp server for me (or let me know
>>>>>> about accessing an existing account) please do so and I'll give it
>>>>>> a try
>>>>>> when I can.
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Scott
>>>>>>
>>>>>>
>>>>>> Samolisov Pavel wrote:
>>>>>>           
>>>>>>> I'm sorry for my English, Scott.
>>>>>>>
>>>>>>> Yes, you are right. The sender is receiving the message but not the
>>>>>>> intended receiver.
>>>>>>>
>>>>>>>  
>>>>>>>               
>>>>>>>>> Are these XMPP servers able to communicate/federate?
>>>>>>>>>                               
>>>>>>> Yes, they are.
>>>>>>>
>>>>>>> Scott Lewis ?8H5B:
>>>>>>>  
>>>>>>>               
>>>>>>>> Hi Pavel,
>>>>>>>>
>>>>>>>> Samolisov Pavel wrote:
>>>>>>>>                      
>>>>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>>>>>> Hash: SHA1
>>>>>>>>>
>>>>>>>>> Hello, folks!
>>>>>>>>>
>>>>>>>>> I'm playing with Datashare API over XMPP-container and have some
>>>>>>>>> problems.
>>>>>>>>>
>>>>>>>>> I create ecf.xmpp.smack container, connect to my jabber account
>>>>>>>>> "samolisov@xxxxx" (connect fine, I watch myself online), create
>>>>>>>>> channel
>>>>>>>>> with name "channel"
>>>>>>>>>
>>>>>>>>> IChannelContainerAdapter channelContainer =
>>>>>>>>> (IChannelContainerAdapter)
>>>>>>>>> _container.getAdapter(IChannelContainerAdapter.class);
>>>>>>>>> channelContainer.createChannel(getNewID(CHANNEL_NAME),
>>>>>>>>> getChannelListener(), null);
>>>>>>>>>
>>>>>>>>> Bundle keep run.
>>>>>>>>>
>>>>>>>>> Late, I start this bundle with another config: I create
>>>>>>>>> ecf.xmpp.smack
>>>>>>>>> container, connect to my jabber account "samolisov@xxxxxxxxx"
>>>>>>>>> (connect
>>>>>>>>> fine, I watch myself online) and create channel with name
>>>>>>>>> "channel".
>>>>>>>>>
>>>>>>>>> And send message over channel to my another account:
>>>>>>>>>
>>>>>>>>> IChannel sender = getChannel();
>>>>>>>>> System.out.println("to = " + System.getProperty(XMPP_TO_ID));
>>>>>>>>> sender.sendMessage(IDFactory.getDefault().createID(IDFactory.getDefault().getNamespaceByName(XMPP_NAMESPACE),"samolisov@ya,ru")
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ,"Hello!".getBytes());
>>>>>>>>>
>>>>>>>>> Now are running two bundles with two containers.
>>>>>>>>>
>>>>>>>>> But! This data has sended to my container (i.e. container that send
>>>>>>>>> this
>>>>>>>>> data: "samolisov@xxxxxxxxx") and do not received by container
>>>>>>>>> that I
>>>>>>>>> send this message ("samolisov@xxxxx").
>>>>>>>>>                                 
>>>>>>>> Your phrasing in the description above is a little unclear to me
>>>>>>>> so I
>>>>>>>> want to check:  are you saying that the "Hello" message is
>>>>>>>> received by
>>>>>>>> the container that's doing the sending (samolisov@xxxxxxxxx), rather
>>>>>>>> than the target account/container? (i.e. samolisov@ya,ru  ...I'm not
>>>>>>>> sure if the comma is a typo, but I assume it is).  So the sender is
>>>>>>>> receiving the message but not the intended receiver?
>>>>>>>>
>>>>>>>> And I can see that the two accounts are on different XMPP servers
>>>>>>>> (gmail.com and ya.ru).  Are these XMPP servers able to
>>>>>>>> communicate/federate?
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Scott
>>>>>>>>
>>>>>>>>                         
>>>>>>>                   
>>>>>         
>>>>     
> 
> 

- --
Pavel Samolisov

Meet me at:
Vkontakte.ru: http://vkontakte.ru/id3178981
Blog: http://samolisov.blogspot.com
Twitter: http://twitter.com/samolisov
XMPP/Jabber: samolisov@xxxxxxxxx
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkrpIVcACgkQ20T0Vos3rqA/8ACeIdlLru+YJ5mg6Ec3PlJQU7uU
fSAAnjuGTwaXSYVc1Wt3Hrd+eEmvHRgv
=+anL
-----END PGP SIGNATURE-----


Back to the top