Node.js, ücretsiz indirilebilir, açık kaynaklı, platformlar arası bir JavaScript çalışma zamanı ortamıdır. Geliştiricilerin JavaScript kodunu bir web tarayıcısının dışında çalıştırmasına olanak tanır. Node.js'nin harika yanı ücretsiz olmasıdır - tek yapmanız gereken indirmeye başlamak için web sitelerini ziyaret etmek.

Node.js üzerinde oluşturduğunuz bir SOAP API'sini test etmek için bir araç arıyorsanız, Apidog harika bir seçimdir! Tek yapmanız gereken, test etmeye başlamak için aşağıdaki düğmeye tıklamak! 👇 👇 👇
Bu makale, Node.js programını web sitesinden indirdiğinizi varsayacaktır, bu nedenle daha çok bir SOAP API'si oluşturma konusunda rehberlik etmeye odaklanacaktır.
Node.js ile SOAP API'leri oluşturmayı ne zaman düşünmelisiniz?
SOAP API'leri yavaş yavaş düşüşte olsa da, birlikte çalışabilirliği sağlamak için Node.js ile SOAP API'leri oluşturmanız gerekebileceği birçok durum hala bulunmaktadır.
Eski sistemlerle entegrasyon: SOAP hala eski sistemlerde yaygın olarak kullanılmaktadır ve eşzamansız görevleri verimli bir şekilde işleme yeteneği ile Node.js, bu sistemlerle sorunsuz bir şekilde entegre olan API'ler oluşturmak için çok uygun olabilir.
Belirli endüstri gereksinimleri: Sağlık ve finans sektörleri, yerleşik standartlar ve düzenlemeler nedeniyle hala SOAP'ye büyük ölçüde güvenebilir. Node.js, bu sektörler için uyumlu ve verimli SOAP API'leri oluşturmaya yardımcı olabilir.
Mevcut SOAP istemcileriyle birlikte çalışabilirlik: Mevcut uygulamalara veya öncelikle iletişim için SOAP kullanan bir hizmete bağlanmanız gerekiyorsa, bir Node.js SOAP API'si oluşturmak birlikte çalışabilirliği kolaylaştırabilir.
Node.js ile SOAP API'si Oluşturmanın Kısa Bir Özeti
Detaylara girmeden önce, bu bölüm Node.js ile bir SOAP API'si oluşturmaya dair bilgi verecektir.
- API'nizi tanımlayın
API'nizi tanımlamak şunlar gibi ayrıntıları içerir:
- İşlevsellik: API'nizin sağlamayı hedeflediği işlemleri veya hizmetleri belirleyin.
- Veri yapısı: İstemci ve API arasında değiş tokuş edilen verilerin biçimi (genellikle XML'de) doğrulanmalıdır.
- WSDL dosyası: API'nizin açıklamasını sağlayan bir WSDL (Web Services Description Language) dosyası oluşturmanız gerekir. soap
kütüphanesini yükleyin:
Terminalinizde,soap
kütüphanesini yüklemek için npm kullanın.- Sunucu tarafı mantığını uygulama:
soap
kütüphanesini SOAP API'nize veya web hizmetinize aktarın. Bu süre zarfında, WSDL dosya yolunuzla birliktesoap.createServer
yöntemini uygulayarak bir SOAP sunucusu da oluşturmalısınız. Son olarak, gelen istekleri işlemek, işlemek ve istemciye uygun yanıtlar döndürmek için bir işlev tanımlayın. - Sunucuyu başlatma:
SOAP sunucusunu başlatmak içinserver.listen
yöntemini uygulayın. Bu, SOAP API'nizin belirtilen bağlantı noktasında gelen SOAP isteklerini almasını sağlayacaktır.
Node.js ile SOAP API'si Oluşturma Konusunda Ayrıntılı Adım Adım Kılavuz
Not: Sağlanan kod örnekleri, kullanıcıların adlarına göre selamlamalar sağlayan bir SOAP API'si oluşturmak için örnek kodlardır. Kodu kişisel kullanım için kullanmayı düşünüyorsanız, değişikliklerin yapıldığından emin olun.
Adım 1: SOAP Kütüphanesini Yükleme
Terminalinizi açın ve bu komutu çalıştırın.
npm install soap
Bu şekilde, SOAP API'niz artık tüm yöntemlerini kullanarak soap
kütüphanesini içe aktarabilir.
Adım 2: WSDL Dosyasını Hazırlama
SOAP API'nizi bir WSDL dosyasına göre tasarlayabileceğiniz için, mantığı XML (Extensible Markup Language) aracılığıyla uygulamanız gerekecektir. Bu WSDL dosyasını, işlevselliğine öngörülebilirlik sağlamak için greetUser.wsdl
olarak adlandıracağız.
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://tempuri.org/Greeter"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://tempuri.org/Greeter"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:types>
<xsd:complexType name="GreetRequest">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="GreetResponse">
<xsd:sequence>
<xsd:element name="greeting" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:types>
<wsdl:message name="GreetRequestMessage">
<wsdl:part name="parameters" element="tns:GreetRequest"/>
</wsdl:message>
<wsdl:message name="GreetResponseMessage">
<wsdl:part name="result" element="tns:GreetResponse"/>
</wsdl:message>
<wsdl:portType name="GreeterPort">
<wsdl:operation name="Greet">
<wsdl:input message="tns:GreetRequestMessage"/>
<wsdl:output message="tns:GreetResponseMessage"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GreeterBinding" type="tns:GreeterPort">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" xmlns:soap="http://schemas.xmlsoap.org/soap/"/>
<wsdl:operation name="Greet">
<soap:operation soapAction="http://tempuri.org/Greeter/Greet"/>
<wsdl:input>
<soap:body use="encoded" parts="tns:parameters"/>
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" parts="tns:result"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="GreeterService">
<wsdl:port name="GreeterPort" binding="tns:GreeterBinding">
<soap:address location="http://localhost:8080/Greeter"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Kod Açıklaması:
Kod, Greet
adlı bir işlemle bir GreeterService
tanımlar. Bir kullanıcının adını girdi olarak alır ve istemciye bir selamlama mesajı döndürür. SOAP adresi de sağlanır, bu da http://localhost:8080/Greeter"
'dir
Adım 3: Sunucu Tarafı SOAP API Kodu Oluşturma
İstemcilerinizin sunucu tarafıyla etkileşim kurabilmesi için, köprüyü - esasen SOAP API'nizi - hazırlamanız gerekir! Bu örnek için, bu dosyayı server.js
olarak adlandıracağız, çünkü bu, sunucu için karşılık gelen JavaScript kodlamasıdır.
const soap = require('soap');
// Define the service endpoint and port
const url = 'http://localhost:8080/Greeter';
// Create the server
const server = soap.createServer({
wsdl: './greeter.wsdl', // Replace with the actual path to your WSDL file
});
// Define the service method
server.addFunction('Greet', (args) => {
// Extract the name from the request
const name = args.name;
// Generate the greeting message
const greeting = `Hello, ${name}!`;
// Return the greeting as the response
return { greeting };
});
// Start the server
server.listen(process.env.PORT || 8080, () => {
console.log(`SOAP server listening on port ${process.env.PORT || 8080}`);
});
Kod Açıklaması:
soap
kütüphanesini içe aktarın: 1. satır, Node.js'de SOAP iletişimini sağlayansoap
kütüphanesini içe aktarır.- Hizmet uç noktasını ve bağlantı noktasını tanımlayın: 4. satırdaki değişkenler, SOAP hizmetinizin erişilebilir olacağı URL'yi ve bağlantı noktasını depolar.
http://localhost:8080/Greeter
'ı dağıtımınız için gerçek URL ile değiştirmeyi unutmayın. - Sunucuyu oluşturun: 7 ila 9. satırlar, WSDL dosyanızın yolunu (
greeter.wsdl
) belirtereksoap.createServer
yöntemini kullanarak bir SOAP sunucusu oluşturur. Bu yolu WSDL dosyanızın gerçek konumuyla değiştirdiğinizden emin olun. - Hizmet yöntemini tanımlayın: 12 ila 21. satırlar, WSDL'nizdeki işleme karşılık gelen
Greet
işlevini tanımlar. Gelen istektenname
parametresini çıkarır, çıkarılan adı kullanarak bir selamlama mesajı oluşturur ve daha sonragreeting
özelliği oluşturulan mesaja ayarlanmış bir nesne döndürür. - Sunucuyu başlatın: 24 ila 26. satırlar, SOAP sunucusunu belirtilen bağlantı noktasında başlatmak için
server.listen
yöntemini kullanır.PORT
ortam değişkenini ayarlayarak bağlantı noktasını özelleştirebilirsiniz.
Adım 4: İstemci Tarafı Kodu Oluşturma
İstemcilerinizin API'nize ulaşması için, belirli talimatlara veya isteklere ihtiyaçları vardır. Bu dosyayı, istemci tarafı kodu olduğunu belirtmek için client.js
olarak adlandıracağız.
const soap = require('soap');
// Define the service endpoint
const url = 'http://localhost:8080/Greeter'; // Replace with actual service URL
// Create a client object
soap.createClient(url, (err, client) => {
if (err) {
console.error('Error creating SOAP client:', err);
return;
}
// Define the arguments for the Greet operation
const args = { name: 'John Doe' }; // Replace with desired name
// Call the Greet operation
client.Greet(args, (err, response) => {
if (err) {
console.error('Error calling Greet operation:', err);
return;
}
// Access the greeting message from the response
const greeting = response.greeting;
console.log(greeting); // Output: Hello, John Doe!
});
});
Kod Açıklaması:
soap
kütüphanesini içe aktarın: Sunucu tarafı koduna benzer şekilde, 1. satır SOAP iletişimi içinsoap
kütüphanesini içe aktarır.- Hizmet uç noktasını tanımlayın: Bu değişken, SOAP hizmetinizin URL'sini depolar.
http://localhost:8080/Greeter
'ı hizmetinizin dağıtıldığı gerçek URL ile değiştirin. - Bir istemci nesnesi oluşturun:
soap.createClient
yöntemi, belirtilen hizmet uç noktasıyla etkileşim kuran bir SOAP istemci nesnesi oluşturur. - Argümanları tanımlayın: Bu bölüm (14. satır), bu durumda kullanıcının adını içeren
Greet
işlemi için argümanları tanımlar. - Greet işlemini çağırın:
client.Greet
yöntemi, tanımlanan argümanları geçirerek sunucudakiGreet
işlemini çağırır. - Yanıtı işleyin: Geri çağırma işlevi, sunucunun yanıtını işler; burada bir hata oluşursa, hata mesajını günlüğe kaydeder, aksi takdirde başarılı olursa, yanıttan
greeting
mesajını çıkarır ve konsola kaydeder.
Herhangi Bir API Geliştiricisi İçin Eksiksiz Bir API Aracı - Apidog
Apidog kapsamlı bir API geliştirme aracıdır. Tasarım öncelikli bir yaklaşımla, kullanıcılarını basit ama güzel kullanıcı arayüzü ile API'leri görsel olarak tasarlamaya, oluşturmaya ve test etmeye teşvik eder.

SOAP API'nizi test etmek için bir API aracı arıyorsanız, başka yere bakmayın - Apidog WSDL dosyası içe aktarmayı destekler!
WSDL Dosyasını Apidog'a İçe Aktarma

İlk olarak, dikey çubuğun sol tarafında bulunan Ayarlar
düğmesine tıklayın. Ardından, Veri Yönetimi
bölümü altında bulunabilen Veri İçe Aktar
düğmesini bulabilmelisiniz.
Son olarak, Apidog'a bir WSDL dosyası içe aktarmak üzere olduğunuzu belirtmek için WSDL
'yi seçin.

WSDL dosyası başarıyla içe aktarıldıysa, WSDL dosyanızı 1. Ok ile işaret edilen resimde gösterildiği gibi solda bulacaksınız. Ardından, düzenlemeye başlamak için numaralı oklara tıklayabilirsiniz.
WSDL dosyanızı içe aktarıp hata ayıklamanızın ardından, daha fazla hata için Apidog'da test etmeye başlayabilirsiniz. WSDL dosyanızın doğru mu yoksa yanlış mı olduğundan hala emin değilseniz, daha fazla ayrıntı için WSDL dosyası örneklerine göz atın.
Sonuç
SOAP API'leri Node.js yardımıyla oluşturulabilir. Node.js'nin eşzamansız görevler için sağlam bir teknoloji olması nedeniyle (hatta Node.js'yi REST API'leriyle eşleştirebilirsiniz), SOAP API'leri web geliştirme endüstrisinde hala amaca hizmet etmektedir.
SOAP API'leri oluşturmayı planlarken, bu üç dosyaya sahip olduğunuzdan emin olmanız gerekir:
- WSDL dosyası: Esasen SOAP API'nizin dokümantasyonu ve ayrıntılarıdır.
- Sunucu tarafı kodu: İsteğin işlenebilmesini sağlamak için bir sunucu tarafı koduna ihtiyacınız vardır.
- İstemci tarafı kodu: İstemci tarafı kodu olmadan, sunucuya bir istek gönderemezsiniz, bu nedenle herhangi bir veri alamaz veya gönderemezsiniz.
Apidog, SOAP API'lerini test etmek, hata ayıklamak veya belgelemek isteyenler için mükemmel bir seçimdir. Tüm API yaşam döngüsü için tasarlanan özellikler ve değişikliklerle, Apidog geliştiricilerin birkaç dakika içinde basit veya karmaşık API'ler oluşturmasına yardımcı olabilir!