SOAP Web Serviste; fault’lar sunucu tarafından istemci tarafına SOAP Fault formlar olarak sunulmaktadır. SOAP Fault’lar faultCode, faultString ve tercihe bağlı olarak detaylardan mevcuttur.JAX-RPC spesifikasyonu Java Exception’larını SOAP Fault larla ilişkilendirmek için bazı kurallar tanımlamıştır. Sunucu tarafında Java Exception’larını SOAP fault’lara ve yine aynı şekilde istemci tarafında SOAP faultları Java Exception’larla eşleştirir. Sunucu tarafından fırlatılan 4 çeşit Exception vardır.
1. java.rmi.RemoteException
2. java.lang.RuntimeException
3. javax.xml.rpc.soap.SOAPFaultException
4. Kullanıcı tarafından tanımlanan Exception’lar.
RemoteException
JAX-RPC, Service Endpoint Interface (SEI) içinde tanımlanan metodların hepsi java.rmi.RemoteException’ı fırlatmaktadır.
RuntimeException
Sunucu tarafında JAX-RPC calışma zamanında Runtim
e Exception fırlatırsa (Örn:NullPointerException), fırlatılan exception istemci tarafında SOAP Fault olarak algılanır. İstemci SOAP Fault’ları RuntimeException ya da SOAPFaultException olarak yakalayabilir.
SOAPFaultException
SOAPFaultException, özel bir RuntimeException da diyebiliriz. SOAPFaultException RuntimeException’a göre daha tanımlayıcıdır. SOAPFaultException genelde JAX-RPC handler’ı tarafından kullanılmaktadır.
Kullanıcı Exception
Kullanıcı Exception’ları iyi bir programlama pratigidir. JAX-RPC dünyasında yazılım geliştiriciler wsdl:operation’ın içinde wsdl:faults tanımlamaya ihtiyaç duyarlar. wsdl:operation birden fazla wsdl:fault tanımlamaya izin verir bu da Java daki biden fazla exception fırlatmasına izin vermesine benziyor. Her bir wsdl:fault SEI’deki bir exception’ı tanımlar. WSDL örneği ve bununla eşleşen Java sınıfı aşağıdaki gibidir.
http://www.ibm.com/developerworks/webservices/library/ws-tip-jaxrpc.html
Hiç yorum yok:
Yorum Gönder