Hai verificato lo status code restituito? (direi di no).
Comunque:
a) writeBytes NON è il più appropriato per inviare una stringa (che in questo caso dovrebbe essere in UTF-8). Perché se leggessi la documentazione di writeBytes vedresti che letteralmente "butta via" il byte alto di ogni char.
b) Visto che saveContact ha una response (che sarà poi in JSON), allora passa nella request anche l'header Accept a "application/json"


Rispondi quotando