Vinnie’nin Mutfağından : Mustang’e atlayalım, WebServis çağıralım
webservice, webservis, java September 1st, 2007
Java’nın 6. versiyonu çıktı. Yeni Java çatısı birçok JSR’ın yanısıra yıllardır özlediğimiz özellikleri barındırıyor. Bunlardan biri de webservislerin “notlama”lar (annotations) ile kolayca çağırılabilmesi, yani JSR 224 (JAX-WS).
Webservisi çağırmak için diğer sistemlerde olduğu gibi vekil sınıfları oluşturmak gerekiyor. Bu kısmı elden halledeceğiz fakat geliştirme araçlarının da devreye girmesiyle bu adımın da ortadan kalkmış olacak. Önce geçici bir dizine geçin daha sonra jdk’nın altındaki bin klasöründeki wsimport aracını çalıştırın:
wsimport http://webservices.daelab.net/datesservice/datesservice.wso?WSDL
Bu ilk örneğimiz “Visual Dataflex” ile gerçekleştirilmiş bir servis. Sorunsuzca sınıflarımız oluşuyor ve geçici dizinimizde servis ile ilgili birtakım paketler oluşturuluyor.
Şimdi servisi kullanacak olan kodumuzu yazabiliriz:
public class Test {
public static void main(String[] args) {
for (String str :
new net.daelab.webservices.dateservice.DatesService()
.getDatesServiceSoap().dayNames(2048,false).getString())
System.out.println(str);
}
}
Çağırılan metodlar ya da oluşan sınıf isimleri servisten servise farkedecektir. Bunları bulmak bize kalmış durumda. Yazdığımız kodu da derledikten sonra geçici dizinimize kaydedin ve çalıştırın:
javac Test.java java -cp . Test
Webservisimiz çalışacak ve gün isimleri listelenecektir.
.Net servisleri ile ortak çalışmak sadece standartları benimseyen uygulamalar için hep sorun olmuştur. Fakat aşağıdaki servis için bir sorun görünmüyor. İsterseniz aynı pratiği deneyebilirsiniz. Size güzel bir yemek tarifi döndürecektir:
http://saintbook.org/MightyMeals/MightyMeals.asmx?WSDL
Hepimize afiyet olsun
Vinnie
Social Bookmarking