Ich weiss, dass ich hiermit viel zu spät dran bin (ein paar Jahre zu spät), aber für alle anderen, die auf dieses Thema treffen, könnte das hier helfen.

Das Problem hier lag höchstwahrscheinlich nicht am Web Service, sondern am Client. Der Client hat zwar mitgeteilt, dass er die Daten als JSON haben will, aber nicht in welcher Kodierung.

Zur Erklärung: Man gibt per HTTP Header mit in welchem Format man die Daten gern hätte. Ob das der Web Service dann wirklich tut, liegt am Web Service. Manche Frameworks setzen das automatisch richtig um und manche ignorieren es komplett (da "bestellt" man JSON und bekommt XML z. B.).

Wie in welchem Format man die Daten gerne hätte gibt man mit dem "Accept" HTTP Header an. Beispiel: Accept: application/json

Hier hat man jetzt aber noch nicht die Kodierung angegeben (Codepage/CCSID). Wenn man die Daten in UTF-8 haben will, dann gibt man das mit dem Attribut "charset" an.

Accept: application/json;charset=utf8

Note: Der HTTP Header "Content-Type" gibt nicht an, in welchem Format man die Daten vom Server gerne hätte, sondern in welchem Format die Daten sind, die man zum Server hin sendet (z. B. bei einer POST Anfrage).