| Re: [ecf-dev] Troubles with Datashare over XMPP |
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
-Dusername0=user0@xxxxxxxxx -Dpassword0=pw0 -Dusername1=user1@xxxxxxxxx -Dpassword1=pw1 -Dsmack.debugEnabled=true
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);
Thanks,
Scott
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
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 ÐÐÑÐÑ:
ZXNHi 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+AYIVOACAAB4cAAAAK2s7QAFc3IAOW9yZy5lY2xpcHNlLmVjZi5wcm92aWRlci5kYXRhc2hhcmUuQmFzZUNoYW5uZWwkQ2hhbm5lbE1zZ33On1Dn0agYAgABWwALY2hhbm5lbERhdGF0AAJbQncJAAdjaGFubmVseHB1cgACW0Ks8xf4BghU4AIAAHcJAAdjaGFubmVseHAAAAAfSGVsbG8gZnJvbSBzYW1vbGlzb3ZAZ21haWwuY29tIXNyACZvcmcuZWNsaXBzZS5lY2YuY29yZS5pZGVudGl0eS5TdHJpbmdJRC0xMDcwMTk0AgABTAAFdmFsdWV0ABJMamF2YS9sYW5nL1N0cmluZzt4cgAkb3JnLmVjbGlwc2UuZWNmLmNvcmUuaWRlbnRpdHkuQmFzZUlEqV3U6TB39y4CAAFMAAluYW1lc3BhY2V0AClMb3JnL2VjbGlwc2UvZWNmL2NvcmUvaWRlbnRpdHkvTmFt
ZXNwYWNlO3hwc3IAOG9yZy5lY2xpcHNlLmVjZi5jb3JlLmlkZW50aXR5LlN0cmluZ0lEJFN0cmluZ0lETmFtZXNwYWNlbfiysG4/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+AYIVOACAAB4cAAAAK2s7QAFc3IAOW9yZy5lY2xpcHNlLmVjZi5wcm92aWRlci5kYXRhc2hhcmUuQmFzZUNoYW5uZWwkQ2hhbm5lbE1zZ33On1Dn0agYAgABWwALY2hhbm5lbERhdGF0AAJbQncJAAdjaGFubmVseHB1cgACW0Ks8xf4BghU4AIAAHcJAAdjaGFubmVseHAAAAAfSGVsbG8gZnJvbSBzYW1vbGlzb3ZAZ21haWwuY29tIXNyACZvcmcuZWNsaXBzZS5lY2YuY29yZS5pZGVudGl0eS5TdHJpbmdJRC0xMDcwMTk0AgABTAAFdmFsdWV0ABJMamF2YS9sYW5nL1N0cmluZzt4cgAkb3JnLmVjbGlwc2UuZWNmLmNvcmUuaWRlbnRpdHkuQmFzZUlEqV3U6TB39y4CAAFMAAluYW1lc3BhY2V0AClMb3JnL2VjbGlwc2UvZWNmL2NvcmUvaWRlbnRpdHkvTmFt
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 ÐÐÑÐÑ:
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 ÐÐÑÐÑ:
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/
iEYEARECAAYFAkrof6EACgkQ20T0Vos3rqBe2QCeJBcf/Cfgv1qNK9XsVz7q8qxW
098AmQHKmfLldK35IMiDpyvzQSUwtThb
=r6N+
-----END PGP SIGNATURE-----