13 Nisan 2026

TROIA callService() Nasıl Çalışır? Session, Parameters ve Response Mantığı

TROIA Web Service tarafında gerçek iş, login değil callService() sırasında yapılır. SessionId/SecurityKey disiplininden XML parametre kurgusuna ve CaniasResponse okumasına kadar sahada en çok karışan noktaları netleştiren teknik bir saha notu.

Yazar: Fatih Görgülü

TROIA callService rehberi için teknik akış ve entegrasyon disiplini vurgusu

login() sadece oturum açar. Asıl trafik, callService() ile başlar. Bu yüzden sahada yaşanan sorunların büyük kısmı SessionId/SecurityKey yönetimi, yanlış Parameters XML veya CaniasResponse okuma hatalarından gelir.

callService() neden merkezde?

callService(), kayıtlı bir TROIA sınıf metodunu çalıştırır ve CaniasResponse döner. Burada amaç: doğru ServiceId ile doğru parametreleri, doğru sırayla taşıyabilmek.

  • SessionId: login dönüşünde gelen oturum kimliği, her çağrıda taşınmalıdır.
  • SecurityKey: başarılı login sonrası alınan güvenlik anahtarı; çağrının doğrulanması için zorunludur.
  • ServiceId: çalıştırılacak TROIA metodunu seçer.
  • Parameters: XML string payload; parametrelerin tamamı burada taşınır.
  • Compressed: parametrelerin sıkıştırılıp sıkıştırılmadığını belirtir.
  • Permanent: transaction kapanış davranışını etkiler.
  • ExtraVariables: response içinde geri istenen değişkenler.
  • RequestId: çağrı eşleme için basit bir kimlik.

Parameters XML nasıl düşünülmeli?

Parameters alanı tek bir XML string'dir. Basit tipler doğrudan <PARAM> içinde taşınır. Özel karakterlerde CDATA, base64 için encoding="base64" tercih edilir.

  • Varsayılan encoding plain’dir.
  • base64 kullanıldığında değer UTF-8’e çözülür.
  • Özel karakter içeren alanlarda CDATA güvenli bir yoldur.

Table ve vector parametreleri

Table veya vector taşımak için TYPE attribute eklemek gerekir. Aksi halde sunucu parametreyi primitive kabul eder.

  • TYPE="TABLE": satır/kolon yapısı ile tablo gönderilir.
  • TYPE="VECTOR": name/type/value kombinasyonları ile vektör taşınır.
  • XML hiyerarşisi bozulursa parse başarısız olur.

CaniasResponse nasıl okunur?

callService() dönüşü tek bir string değildir. CaniasResponse içinde Response, SYSStatus, Messages ve ExtraVariables birlikte değerlendirilmelidir.

  • Response (StringResponse): Value + Compressed flag içerir.
  • SYSStatus / SYSStatusError: TROIA tarafındaki son durum değerleri.
  • Messages: çalışma sırasında oluşan TROIA mesajları (XML).
  • ExtraVariables: talep edilen değişkenler (XML).
  • RequestId: çağrı eşleme için geri döner.

Sahada en sık karışan noktalar

  • SessionId ve SecurityKey’in her çağrıda taşınmaması.
  • ServiceId’nin yanlış veya eksik olması.
  • Parameters XML’de type/encoding hataları.
  • Compressed flag’ine rağmen response’u açmamak.
  • Messages/ExtraVariables alanlarını okumadan hata ayıklamaya çalışmak.

İlgili okumalar

TROIA Web Service rehberi, Encryption & compression notları, Canias ERP ana sayfa.

Canias cluster içinde

Bu yazı Canias, go-live, steering veya fit-gap hattının bir parçası. Landing ve rehberlerle birlikte okunduğunda daha güçlü bir karar çerçevesi verir.

İlgili yazılar

TROIA callService() Nasıl Çalışır? Session, Parameters ve Response Mantığı | Fatih Görgülü | Fatih Görgülü