Node.js SOAP Modülü

Node.js ile SOAP protokolünü kullanan web servislerini kullanmak için gerekli olan SOAP modülü kurulumu ve kullanımı ile ilgili bilgiler yer alıyor.

SOAP nedir?

SOAP ile ilgili detaylı bilgi için Web Servis Dersleri bölümünde yer alan SOAP Nedir? yazıma bakabilirsiniz.

Node.js SOAP kurulumu

Modül aşağıdaki komutlar kullanılarak indirilir.

npm install soap

SOAP kullanımı

Modül projeye dahil edilerek kullanılır.

Modül içerisinde SOAP tabanlı web servis oluşturmak ve kullanmak için çeşitli metotları barındırır.

SOAP, REST tabanlı web servislerine göre daha az tercih edildiğinden sadece SOAP kullanımına bakacağız.

Modül SOAP isteğin gönderimi için createClient ve createClientAsync metotlarına sahiptir.

Metot ilk parametre olarak SOAP adresini ikinci parametre olarak varsa SOAP ayarlarını son parametre olarak ise web servis ile işlem yapmak için gerekli olan geri bildirim fonksiyonunu alır.

TC Kimlik numarasını doğrulamak için kullanılan SOAP web servisini kullanarak TC Kimlik No doğrulayalım.

const soap = require('soap');
const ADRES = 'https://tckimlik.nvi.gov.tr/service/kpspublic.asmx?WSDL';

soap.createClient(ADRES, (err, client) => {

  // SOAP işlemleri

});

SOAP ile ilgili yetkilendirme, metot isimlerini öğrenme ve metotları kullanmak için geri bildirim fonksiyonunun ikinci parametresi kullanılır.

SOAP web servisi içinde yer alan metotları listelemek için describe metodu kullanılır.

const soap = require('soap');
const ADRES = 'https://tckimlik.nvi.gov.tr/service/kpspublic.asmx?WSDL';

soap.createClient(ADRES, (err, client) => {

  console.log(client.describe());
  //console.log(JSON.stringify(client.describe()));

});

SOAP web servisi içinde yer alan metotlarla ilgili bilgi alındıktan sonra client.metotadi ile metot çalıştırılır.

Çalıştırılan metot ilk parametre olarak web servis metodunun ihtiyaç duyduğu değerleri nesne olarak alır.

Metodun ikinci parametresi metot sonucu ile ilgili işlem yapmak için geri bildirim fonksiyonu alır.

const soap = require('soap');
const ADRES = 'https://tckimlik.nvi.gov.tr/service/kpspublic.asmx?WSDL';
let degerler = {
  TCKimlikNo: 11111111111,
  Ad: 'YUSUF SEFA',
  Soyad: 'SEZER',
  DogumYili: 1111
};

soap.createClient(ADRES, (err, client) => {

  client.TCKimlikNoDogrula(degerler, (err, result) => {
    if (result.TCKimlikNoDogrulaResult) {
      console.log('Bilgiler doğru');
    } else {
      console.log('Bilgiler hatalı');
    }
  });

});

Modül ayrıca metodun asenkron kullanımı için metotadiAsync olarak metot tanımlar.

Node.js ile SOAP tabanlı web servis kullanımı örnekte görüldüğü gibi oldukça kolay bir şekilde yapılmaktadır.

Node.js Derslerine buradan ulaşabilirsiniz…

Web Servis Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!