File transfer with external component
Hi Christian,
When trying to transfer a file from my client to an external component, I got this exception: java.lang.IllegalArgumentException: recipient must be a full JID (including resource) at rocks.xmpp.extensions.filetransfer.FileTransferManager.offerFile(FileTransferManager.java:264) ~[xmpp-extensions-client-0.7.5.jar:na]
Does the JID really need to be a full one? And if it is the case how to deal with external components?
Thanks,
Jacques
Comments (7)
-
repo owner -
I tried a quick and dirty patch of your library, removing the check on full JID, and it works with an external component.
-
Any hope that your library will relax the check on full JID, or offer another way to work with external component? If not possible what is the best way to work around this limitation without resorting to a dirty patch?
-
repo owner Yes, of course. Sorry for the slow response, I am quite busy right now.
-
repo owner - changed status to resolved
Don't demand a full JID for SI file transfer
So that file tranfer can be used with an external component
Fixes issue
#142→ <<cset ff700dd959ab>>
-
Thanks!
-
repo owner - changed status to closed
Fix version 0.8.1
- Log in to comment
The reason for being a full JID is, that I think XEP-0095/96 were not designed to work with External Components.
There was confusion in the past were people tried to send a file to a bare JID (user@domain), but that's not how SI File Transfer works, because it's IQ-based and IQ-requests to the bare JID are responded to by the server instead of the client (receiver).
Technically I guess it could work with External Components, though, although it's never intended. I also think Jingle File Transfer (the successor) also only works with full JIDs.
Are you able to try it out first, (e.g. by using your own offerFile method without the check)?