Burak IŞIKLI :))

Axis 2 Kullanılarak Web Servis Oluşturma

Posted in Java, Web Services by Burak IŞIKLI on 14 Temmuz 2009

“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

</pre>
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-

5 Yanıt

Subscribe to comments with RSS.

  1. ersin aksoy said, on 10 Mayıs 2010 at 8:43

    Cok hos bir calisma olmus.

    Belki de algi duzeyinde, en fazla 10 adimda tamamlanan bu tur kılavuzlar hazirlamak, hızlı cozumler icin en iyi yoldur.

    Kolay gelsin

  2. savas said, on 14 Nisan 2011 at 14:45

    hocam eline saglık

  3. Miraç said, on 22 Nisan 2011 at 18:12

    Teşekkkürler, bloğunuzu takip edeceğim, sürekli güncel bilgiler yayınlarsanız seviniriz.

  4. bilgiseyir said, on 15 Ekim 2011 at 19:16

    Elinize sağlık. Çok güzel bir anlatım olmuş…

  5. Emre UÇAR said, on 17 Aralık 2012 at 10:35

    Reblogged this on Emre UÇAR.


Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: