I work with Smack and xmpp , when sending a file from the application I get an error XMPPError: service-unavailable - cancel , what could be wrong?

  OutgoingFileTransfer transfer = manager.createOutgoingFileTransfer("test2@irynas-macbook-air.local/resource"); File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/DCIM/Camera/test.jpg"); try { transfer.sendFile(file, "test_file"); } catch (SmackException e) { e.printStackTrace(); } while(!transfer.isDone()) { if(transfer.getStatus().equals(FileTransfer.Status.error)) { Log.e("ERROR!!! ", String.valueOf(transfer.getError())); } else if (transfer.getStatus().equals(FileTransfer.Status.cancelled) || transfer.getStatus().equals(FileTransfer.Status.refused)) { Log.e("Cancelled!!!", String.valueOf(transfer.getError())); } try { Thread.sleep(1000L); } catch (InterruptedException e) { Log.e("Error ", String.valueOf(e)); } } if(transfer.getStatus().equals(FileTransfer.Status.refused)) { Log.e("transfer refused", String.valueOf(transfer.getError())); } else if(transfer.getStatus().equals(FileTransfer.Status.error)){ //ошибка выпадает здесь Log.e("transfer error", String.valueOf(transfer.getError())); } else if(transfer.getStatus().equals(FileTransfer.Status.cancelled)) { Log.e("refused cancelled ", String.valueOf(transfer.getError())); } else { Log.d("Success","sending file"); } } 

    1 answer 1

    I understood what was wrong, I indicated the wrong id, in the code test2@irynas-macbook-air.local/resource , the resource needed to be replaced with the correct name, in my case it was Irynas-MacBook-Air , that is, the correct id looks like this: test2@irynas-macbook-air.local/Irynas-MacBook-Air