JAX-WS(Java API for XML Web Services) Java 6 ile gelen web servis ve istemcileri oluşturmak için bir teknolojidir. İletişim için XML formatında veriler kullanılır. HTTP,SOAP ve WSDL teknolojilerini kullanır. SOAP, zarf yapısı, kodlama(şifreleme,encode) kuralları, webservis çağrı ve cevapları için kurallar tanımlayan bir belirtimdir(specification). Bu çağrı ve cevaplar SOAP mesajları (XML dosyası) olarak HTTP prokolü üzerinden iletilir. WSDL, web servisi mesajlar üzerinde çalışan son nokta(endpoint)lar olarak tanımlayan bir XML formatı betimler.
SOAP mesajları karmaşıktır ancak JAX-WS bunları geliştiriciden soyutlar. Sunucu tarafında geliştirici metotları bir java arayüz sınıfında tanımlayarak webservis işlemlerini betimler. Bu arayüzü gerçekleyen birden fazla sınıf yazabilir. İstemci tarafında ise proxy nesne(yerel nesne oluşturarak) servisin metotlarını çağırır. Geliştirici SOAP mesajlarını parse etmek ya da üretmek zorunda değildir. JAX-WS çalışma zamanı (runtime) sistemi API çağrıularını ve cevpaları SOAP mesajlarına ve SOAP mesajlarından otomatik çevirir.
İstemci için Aşamalar şu şekildedir:
- İstemci için sınıflar wsimport ile üretilir.
wsimport -keep -d generated address of wsdl file
Elde edilen sınıfları paketleyip *.jar haline getirip projeye ekleyebilirsiniz.
2) Projede istemci için bir sınıf oluşturulur
3) Bu sınıf içinde static Proxy (yerel nesne) nesne oluşturulur.
@WebServiceRef(wsdlLocation = “wsdl adresi”)
private static WebServisAnasinifi service;
//metot içinde
service=newWebServisAnasinifi();
4) Servis metotları çağrılır
service.getsdaHttpSoap11Endpoint().getXYX();
Referans:
https://docs.oracle.com/javaee/6/tutorial/doc/bnayn.html