Burak IŞIKLI

Computer scientist living in Istanbul, Turkey. Data scientist at Turkcell, Traveller, Rower, Sailor

Twitter Github Linkedin Mail

Axis 2 Kullanılarak Web Servis Oluşturma

“Web servis nedir” yazımda web servisin ne olduğunu nerelerde ne amaçla kullandığını anlatmaya çalıştım ancak örnek vermeyince konu biraz havada kaldı. Bu nedenle eğer web servis nedir bilmiyorsanız önce bu yazımı okumanızı öneririm.

Örnek olarak Axis 2’yi kullanarak web servis oluşturup buna bağlanarak gerekli bilgiyi alacağız.

Gerekenler:

  1. Java
  2. Axis 2 Version 1.4
  3. Eclipse
  4. Tomcat

Örneğimize geçmeden önce axis nedir onu anlamalıyız.

Axis 2:

Axis 2, web servisler için oluşturulmuş çekirdek makinadır(core engine). Bize SOAP kullanılarak dizayn ve yazma sağlayan apache tarafından geliştirilmiş proje diyebiliriz. Java ve C programlama dillerini desteklemektedir. Ayrıca REST ve Spring Framework desteği de mevcuttur.

Axis 2 bazı özellikleri şunlardır:

  • Yeni XML işleme(process) çekirdeği modeli, AXIOM (AXIs Object Model)
  • A blocking ve non-blocking istemci API (application programming interface)
  • WS-Addressing desteği
  • HTTP (Hypertext Transfer Protocol), SMTP (Simple Mail Transfer Protocol), ve TCP (Transmission Control Protocol) iletişimi için destek

Axis 2 Mimarisi:

axis2

Kısaca bir SOAP uygulama çatısı olduğunu gördük. Tomcat gibi servlet motorlarına eklenebilir. Bizim tarifimizde kullanacagımız bölüm WSDL’den Java sınıfları üreten kısım olacak. Daha detaylı bilgi için lütfen burayı tıklayınız.

Axis 2’yi binary dosyasını bu linkten indirdikten sonra kurmaya başlayabiliriz. Axis’in kurulum kısmı biraz tarif modunda olacak ama elimden geldiğince her adımı nedenini detaylı anlatmaya çalışacağım.

1-) Binary dosyasını istediğiniz herhangi bir dizine açtıktan sonra Eclipse IDE’sini açıyoruz. Menüden sırasıyla Window -> Preferences seçeneğini tıklıyoruz. Açılan menüden Web Services’dan Axis2 Prefences seçeneğini seçiyoruz. Karşımıza aşağıdaki resimdeki gibi bir ekran gelecektir. Axis2’nin kurulu olduğu dizini seçiyoruz. Böylelikle Eclipse’e axis2’yi tanıtmış oluyoruz.

Step
1

2-) İkinci adımımız dinamik bir web projesi oluşturmaktır. File > New > Project seçeneğinden web bölmesinin altında Dynamic Web Project seçiyoruz. Proje için bir isim veriyoruz. Biz örneğimizde WebService adını kullanacağınız.

Step
2

Step
2

Burada dikkat edilmesi gereken nokta Configuration kısmıdır. Tomcat’in seçeneğinin yanında bulunan Modify butonuna tıkladıktan sonra aşağıdaki gibi bir menü açılacaktır. Burada “Axis2 Web Services” seçeneğinin işaretli olmasına dikkat etmemiz gerekiyor.

Step
2

3-) Artık web servisimize ait sınıflarımızı oluşturmaya başlayabiliriz. edu.burakkk.webservice.example paket isimli MyService adında bir  sınıf oluşturuyoruz.

Step
3

Sınıfımıza aşağıdaki kodu yazıyoruz:

SumService.java

package edu.burakkk.webservice.example;

/**
 * Web Service Example
 * Sum of two numbers
 *
 *@version 1.0 Release 1
 *@author Burak ISIKLI
 *
 **/

public class SumService {
 public String sum(Integer a, Integer b) {
 return a + " + " + b + " = " + (a + b);
 }
}

4-) SumService sınıfımıza sağ tıklıyoruz. Web Services -> Create Web Service seçeneğine tıklıyoruz. Ekrana gelen menüde Web Service runtime seçeniğinin Axis 2 olmasını sağlıyoruz. Bunun için yazının üstüne tıklayarak Axis 2 seçiyoruz.

Step
4

Step
4

Step
4

Last
Step

5-) Start Server butonuna bastıktan sonra web servisimiz yaratılmış ve başlatılmış olacaktır. Web servis’e ulaşmak için http://localhost:8080/WebService/services/SumService/sum?a=6&b=76 yazdığımız takdirde aşağıdaki gibi bir ekran karşımıza gelecektir.

Result

Web servise ulaştırken, a ve b değişkenlerini yazdıktan sonra toplayacağımız sayıları yazıyoruz. Biz örnek olarak a’ya 6, b’ye de 76 değerini verdik. Ayrıca Axis 2’nin oluşturduğu wsdl dosyasına http://localhost:8080/WebService/services/SumService?wsdl linkinden ulaşabiliriz. Şimdilik bu basit örnek bize yol göstermek web servisin ne olduğunu anlamak içindi. Gelecek web serviste daha detaylı bir örnekle daha da anlaşılır hale gelecektir.

Kaynaklar:

http://en.wikipedia.org/wiki/Apache_Axis2

http://www.ibm.com/developerworks/webservices/library/ws-webaxis1/

http://www.javaworld.com/javaworld/jw-09-2003/jw-0912-fop.html?page=2

http://omeryurduseven.blogspot.com/2008/07/web-service-sample-in-eclipse-using.html

http://javamanyaklari.com/2007/06/axis-ile-stub-olusturarak-web-servis-kullanimi.jsp

http://eclipse.dzone.com/articles/web-services-development-with-


Comments !