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

TROIA entegrasyonu, teknik disiplin, XML payload, servis akışı

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ü