File transfer with external component

Issue #142 closed
Former user created an issue

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)

  1. Christian Schudt repo owner

    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)?

  2. jjoannes

    I tried a quick and dirty patch of your library, removing the check on full JID, and it works with an external component.

  3. jjoannes

    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?

  4. Log in to comment