Bu makalede aşağıdaki hata mesajının çözümünü anlatacağım:
error reading XMLStreamReader: unexpected character '{' (code 123)
Bu, teknik olarak bir XML okuma/parsing hatasıdır. Yani sistem XML dosyasını beklenmedik bir karakterle karşılaştığı için okuyamıyor.
🔍 Hata Analizi
-
XMLStreamReader-
Java tabanlı veya benzer XML parser kullanan sistemlerde XML dosyasını okuyan kütüphanedir.
-
-
unexpected character '{'-
{karakteri XML’de geçerli bir başlangıç karakteri değildir. -
XML dosyası bozulmuş, yanlış formatta veya yanlış kodlama ile kaydedilmiş demektir.
-
Örneğin, JSON verisi XML bekleyen sisteme yanlışlıkla gönderilmiş olabilir.
-
-
code 123-
Bu karakterin ASCII karşılığı
{olduğu için parser hata veriyor.
-
🔍 Olası Nedenler
| Sebep | Açıklama |
|---|---|
| ❌ Yanlış dosya türü | JSON veya başka formatta dosya XML yerine gönderilmiş olabilir. |
| ❌ XML format hatası | Dosya başında BOM karakterleri, eksik tag veya yanlış karakterler var. |
| ❌ Encoding sorunu | UTF-8/ISO-8859-9 uyumsuzluğu, özel karakterlerin hatalı yorumlanması. |
| ❌ Bozuk XML | Dosya kaydedilirken { gibi karakterler yanlışlıkla eklenmiş. |
🧰 Çözüm Adımları
-
Dosya türünü kontrol et
-
Dosya gerçekten XML mi? (
.xmluzantısı var, metin düzenleyicide<Invoice>gibi tagler var mı?)
-
-
Dosyayı metin editörüyle aç ve
{karakterini bul-
Başlangıçta veya satır ortasında
{var mı kontrol et. -
JSON veya başka veri yanlışlıkla XML’e eklenmişse çıkar.
-
-
Encoding’i kontrol et
-
XML UTF-8 olarak kaydedilmiş mi?
-
Başında BOM varsa kaldırmayı dene.
-
-
XML validator ile doğrula
-
Online validator veya XML tool ile dosyayı kontrol et:
-
-
Gerekirse entegratör / yazılım tarafında tekrar oluştur
-
Mikro, Luca, Paraşüt gibi program kullanıyorsan, XML’i yeniden oluştur ve gönder.
-
💡 Örnek Senaryo
Yanlış:
Beklenen:
-
JSON yerine XML gönderilirse
unexpected character '{'hatası alınır.

