| Re: [ecf-dev] Troubles with Datashare over XMPP |
Hi Pavel,
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+AYIVOACAAB4cAAAAK2s7QAFc3IAOW9yZy5lY2xpcHNlLmVjZi5wcm92aWRlci5kYXRhc2hhcmUuQmFzZUNoYW5uZWwkQ2hhbm5lbE1zZ33On1Dn0agYAgABWwALY2hhbm5lbERhdGF0AAJbQncJAAdjaGFubmVseHB1cgACW0Ks8xf4BghU4AIAAHcJAAdjaGFubmVseHAAAAAfSGVsbG8gZnJvbSBzYW1vbGlzb3ZAZ21haWwuY29tIXNyACZvcmcuZWNsaXBzZS5lY2YuY29yZS5pZGVudGl0eS5TdHJpbmdJRC0xMDcwMTk0AgABTAAFdmFsdWV0ABJMamF2YS9sYW5nL1N0cmluZzt4cgAkb3JnLmVjbGlwc2UuZWNmLmNvcmUuaWRlbnRpdHkuQmFzZUlEqV3U6TB39y4CAAFMAAluYW1lc3BhY2V0AClMb3JnL2VjbGlwc2UvZWNmL2NvcmUvaWRlbnRpdHkvTmFtZXN 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+AYIVOACAAB4cAAAAK2s7QAFc3IAOW9yZy5lY2xpcHNlLmVjZi5wcm92aWRlci5kYXRhc2hhcmUuQmFzZUNoYW5uZWwkQ2hhbm5lbE1zZ33On1Dn0agYAgABWwALY2hhbm5lbERhdGF0AAJbQncJAAdjaGFubmVseHB1cgACW0Ks8xf4BghU4AIAAHcJAAdjaGFubmVseHAAAAAfSGVsbG8gZnJvbSBzYW1vbGlzb3ZAZ21haWwuY29tIXNyACZvcmcuZWNsaXBzZS5lY2YuY29yZS5pZGVudGl0eS5TdHJpbmdJRC0xMDcwMTk0AgABTAAFdmFsdWV0ABJMamF2YS9sYW5nL1N0cmluZzt4cgAkb3JnLmVjbGlwc2UuZWNmLmNvcmUuaWRlbnRpdHkuQmFzZUlEqV3U6TB39y4CAAFMAAluYW1lc3BhY2V0AClMb3JnL2VjbGlwc2UvZWNmL2NvcmUvaWRlbnRpdHkvTmFtZXN
wYWNlO3hwc3IAOG9yZy5lY2xpcHNlLmVjZi5jb3JlLmlkZW50aXR5LlN0cmluZ0lEJFN0cmluZ0lETmFtZXNwYWNlbfiysG4/ewsCAAB4cgAnb3JnLmVjbGlwc2UuZWNmLmNvcmUuaWRlbnRpdHkuTmFtZXNwYWNlNzA4NTIyMTgCAARJAAhoYXNoQ29kZVoADWlzSW5pdGlhbGl6ZWRMAAtkZXNjcmlwdGlvbnEAfgAJTAAEbmFtZXEAfgAJeHDM7OAkAXQAElN0cmluZ0lEIE5hbWVzcGFjZXQAJm9yZy5lY2xpcHNlLmVjZi5jb3JlLmlkZW50aXR5LlN0cmluZ0lEdAAHY2hhbm5lbHNxAH4ACHEAfgAPdAATc2Ftb2xpc292QGdtYWlsLmNvbXNyAC1vcmcuZWNsaXBzZS5lY2YucHJvdmlkZXIueG1wcC5pZGVudGl0eS5YTVBQSUQtNDc3MjkxNAIABEkABHBvcnRMAAhob3N0bmFtZXEAfgAJTAAMcmVzb3VyY2VuYW1lcQB+AAlMAAh1c2VybmFtZXEAfgAJeHEAfgAKc3IANG9yZy5lY2xpcHNlLmVjZi5wcm92aWRlci54bXBwLmlkZW50aXR5LlhNUFBOYW1lc3BhY2UtNTYzMzk3NgIAAHhxAH4ADiGuWlsBdAAOWE1QUCBOYW1lc3BhY2V0AAhlY2YueG1wcP////90AAlnbWFpbC5jb21wdAAPcGF2ZWwuc2Ftb2xpc292</value>
</property>
</properties>
</message>
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