Sap Business One 10 ile Service Layer Connection

Yapmak istediğimiz işlem açık ve net, Sap Business One Erp programına entegrasyon yolu ile bağlanıp çeşitli uygulamalar yapmak yada var olan uygulamaları sap sistemi ile canlı şekilde çalıştırmak.

Günümüz teknolojileri hızla ilerlemekte ve çeşitli web servis alt yapıları ile sistemler daha entegre çalışmaya başlamıştır, Sap de boş durmayarak Service Layer adı altında Rest servislerini sunmaya başlamış ve Sap Erp yi daha entegre hale getirmeye çalışmaktadır, Şimdi bu entegrasyon işleminin teknik detaylarını incelerken küçük bir uygulama ile servis layer katmanına bağlantı sağlayalım. 

Daha önce bu noktada sap nin bize sunduğu dll ile yani DIAPI aracılığı ile yapabiliyorduk. Artık buna ihtiyaç olmadan direk olarak Servis Layer linki üzerinden (https://localhost:50000/b1s/v1/Login) rest servisler ile bağlantıyı yapıp işlemlerimizi yapabiliriz. Bu noktada önemli bir konu da Servis Layer katmanı Sap Business One 10 Hana Sürümü ile çalışmaktadır, Sap Business One 10 Pl 02 MSSQL ile de desteği gelmiş ve aktif olarak çalışmaktadır, Bu arada MSSQL sürümünün 2017 olması yeterlidir(Bende öyle).

İlgili link üzerinde https://localhost:50000/ Servis Layer kullanımı ve api referasnları mevcuttur, zaten daha önceden DIAPI ile sap bağlantı işlemi yapanlar için benzer bilgiler vardır, sadece web tarafında rest servisleri çağırma verileri işleme parametre gönderme gibi bilgilerini edinmeniz gereklidir.

Gerekli ön bilgilerden sonra örnek kodlarımızı inceleyecek olursak:

        ServicePointManager.ServerCertificateValidationCallback +=
(sender, certificate, chain, sslPolicyErrors) => true;

//bunu koymamızın sebebi https ile ilgili ilemlerde hata almamız ve
lokal çalışmalarımızda sertifika olmayacağı için bypass ediyoruz.
var client = new RestClient(login.ServiceLayerUrl);
//url parametre olarak formdan alıyorum client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); var bodyParam = JsonConvert.SerializeObject(login); request.AddParameter("application/json", bodyParam, ParameterType.RequestBody); IRestResponse response = client.Execute(request);
//işlem sonucu bu noktada bize iletiliyor, bu sonucu kontrol edip iş akışımızı yönetebiliriz.

Bu arada ben rest servise bağlanmak için RestSharp kütüphanesini kullandım. Siz bildiğiniz başka yöntemler ile servise bağlanabilirsiniz.

Örnek kodumuz ile ilgili detaylı çalışan kod github üzerinden ulaşabilirsiniz, https://github.com/ozeraydin57/Sap-B1-ServiceLayer

Örnek proje Asp.Net Mvc projesi olup, Home controller da login sayfası göstemektedir, bilgiler girildikten sonra giriş yap basıldığında service layer bağlantı kodları çalışmaktadır.

Şunlarıda incelemek isteyebilirsin mi?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir