Quantcast
Channel: ÇözümPark
Viewing all articles
Browse latest Browse all 4130

Sharepoint 2013 - Office 365 is Akislari Web Servis Tetikleme

$
0
0

Sharepoint 2013 / Office 365 iş akışları üzerinde daha önceden üç çeşit iş akışı oluşturabildiğimize değinmiştik.

 

Bunlardan List Workflow örneğimizi daha önceki yazılarımızda örnek uygulama üzerinde gerçekleştirdik. Bu yazımız da ise Site Workflow’lar üzerinde Harici Web Servislerini tetiklemeyi göreceğiz.

Sharepoint Designer vasıtası ile sitemize bağlanıyoruz ve Navigation Pane’den Workflows’u seçiyoruz. Sharepoint designer üzerinde Ribbon Bar da üç adet workflow seçeneğimiz beliriyor ve biz bunlardan Site Workflow’u seçerek bir sonraki ekrana geçiyoruz.

clip_image001

Workflow’umuza bir isim vererek açıklamasını yazıyoruz ve OK diyerek devam ediyoruz. Burada OData Servisinin bize sağlamış olduğu örnek Northwind datasına bağlanacağız ve ürünleri listeleyeceğiz.
clip_image002

OK butonuna bastıktan sonra Sharepoint Designer Text Based Workflow Editor karşımıza açılacak ve artık mevcut komutları imlecin olduğu yerde yazarak yada Ribbon barda bulunan Action menüsü ile de Stage’imize ekleyebiliris.

 

Call yazarak Enter tuşuna basıyoruz ve sharepoint workflow designer bize otomatik olarak Call this http…. adında bir satır oluşturarak mevcut yerlere atamaları yapabileceğimiz hazır bir template action sunnuyor.


clip_image003
Burada yapacaklarımızı özetlemek gerekirse

Call This = Tıkladığımızda Web Servisin urlsini girebileceğimiz bir panel açılacaktır.
(ResponseContent to response.. = Dönen Response değerini atayabileceğimiz bir değişken oluşturur.
responseHeader = Post yada get yaparken http  Header öğesini set edebileceğimiz bir Dictionary List oluşturmamıza olanak sağlar.
responseCode = Dönen değerin http response kodlarını tutabileceğimiz bir değişken oluşturmamıza izin verir. ( 404,405 …. Gibi status kodları)


* Mavi gördüğümüz yerlere tıklayarak açılan pencerelere gerekli değerleri girebiliriz.

This kısmına tıklayarak Web servis urlsini giriyoruz ve ok Tuşuna basıyoruz.
clip_image004

Aynı şekilde responseContetn kısmına da tıklayarak yeni bir değişken tanımlayarak dönden değerin bu değişkene atanmasını sağlıyoruz.

clip_image005
Bu değişkeni birden fazla item yada Json Array içereceğini düşünürsek Dictionary olarak düzenlemekte fayda var. Açılan pencerede değişkenimize isim veriyoruz ve tip olarak da Dictionary seçimini yaparak OK tuşuna basıyoruz. 

clip_image006

Servis çağırma işlemimiz şimdilik bu kadar. Sharepoint normalde bizim daha önceden kod ile yapmış olduğumuz HttpWebRequest’leri workflowlar içinde kullanıma hazır biz action yaparak sharepoint designer içine gömmüş. Bizler gerekli parametreleri doldurarak çok fazla kod yazmadan her hangi bir web servisten data çekip email atabilir veya herhangi bir listeye yazabiliriz.

Workflow designer’a geri dönüyoruz ve send email actionunu ekliyoruz. These users a tıklayarak açılan pencereden to kısmına mail atacağımız kişi yada kişileri seçiyoruz. CC içinde aynı step geçerli. 


clip_image007
Subject kısmına ise mail ile ilgili bilgilendirmeyi yazıyoruz. Content alanına tıklayıp Sol Atl köşede bulunan Add or Change lookup butono vasıtası ile aşağıdaki ekranda görünen pencereyi açıyoruz. Data Source olarak Workflow Variables and Parametes kısmını seçiyoruz. Return Field as kısmında ise Servisten dönen değerimizi seçiyoruz.

clip_image008

 

İki kere OK diyerek pencereleri kapatıyoruz. 

Publish etmeden önce son olarak önemli bir not. Site Workflowlar devamlı suret ile arka planda çalıştığından End Workflow yada Go to Stage kısımlarını atlamamanızı öneririm. 

Workflow’umuzun son şekli aşağıdaki gibi olacaktır.

clip_image009
Buradan sonra artık Workflowumuzu Check Error ve Publish yapıyoruz.
Sitemize giderek Settings > Site Contents menüsünü tıklıyoruz ve açılan ekranda Site Workflows bağlantısına tıklıyoruz.

clip_image010
clip_image011

 

Bağlantıya tıkladığımızda gelen ekranda oluşturmuş olduğumuz Workflowdaki check ikonuna tıklayarak iş akışımızı başlatıyoruz.

clip_image012

İş akışını başlattığımızda hemen başlamaya bilir. Sayfamızı bir – iki kez yeniledikten sonra iş akışımızın devam eden iş akışları alanında görünmesi gerekmektedir.

clip_image013

Bu ekranda bir iki kere daha yenileme yaparak takibini yapıyoruz. Aynı esnada mail attığımız hesaba bağlanarak e-postamızı kontrol ediyoruz. Eğer başarılı bir şekilde iş akışımız çalışıyorsa aşağıdaki ekrandaki gibi bir maille web servisten çağırmış olduğumuz ürün listesi json data olarak e-postamıza yansıyacaktır.


clip_image014

 

Tekrar geri dönerek ekranı yenilediğinizde tamamlanan iş akışları arasında az önce çalıştırmış olduğumuz iş akışının tamamlanmış olarak görebilirsiniz.

 

clip_image015

 

Son olarak aslında http://services.odata.org/V3/OData/OData.svc/Products url’sini çağırdık ve ekrana gelen xml data idi mail de ise Json olarak bir döküm ile karşılaştık. Bunun nedeni Sharepoint Call webservice actionu header olarak default “application/json; odata=verbose” header’ını kullanmaktadır. 

Loop komutu ile bu gelen data bir loopa sokulabilir, başka bir isteye atılabilir veya dosya olarak saklanabilir. Temel olarak Sharepoint designer iş akışları içerisinde web servis tetiklemesini gösterdik. Daha fazlası için
http://msdn.microsoft.com/en-us/library/office/dn567558(v=office.15).aspx adresinizden inceleyebilirsiniz.


Viewing all articles
Browse latest Browse all 4130

Latest Images