30 Nisan 2008 Çarşamba

Tomcat 6 üzerinde JSF 1.2 ve Web Servisleri

Merhaba

Tomcat6'yı kurdunuz. Netbeans ya da Eclipse ile JSF 1.2 kullanan bir sayfa yaptınız çalıştı. Herşey çok güzel derken bir web servis client eklemek istediniz ama olmadı! Tomcat logunda şu satırları görüyorsunuz:

javax.naming.NameNotFoundException: Name * is not bound in this Context

Basit bir web servisini neden çağıramıyorum diye saçınızı başınızı yoldunuz. Internette aradınız aradınız birşey bulamadınız.

Problemin çözümü şöyle:

1. Tomcat6 dizinininde "endorsed" isimli bir klasör oluşturun. Unutmayın tomcat6 root'unda olacak lib'in altında falan değil.

2. Netbeans kurulumunun olduğu dizinin altında "java1\modules\ext\jaxws21\api" yolunu takip ederek "api" klasörüne gidin. Bu klasörde bulunan tüm jar dosyalarını Tomcat6 dizininde oluşturduğunuz "endorsed" klasörüne kopyalayın. Dikkat klasörleri değil içindekileri kopyalıyoruz.

3. Kodunuza dönün. Web servisinizi tanımladığınız @WebServiceRef(wsdlLocation = ... diye başlayan satır(lar)ı silin ya da "comment out" edin. Problemlere buradaki @ işareti sebep oluyor.

4. Web servisinizi çağırdığınız yere gelin. En başa service = new WEBSERVİSİNİZİNADI(); ifadesini ekleyin ki service derken neden bahsettiğimiz anlaşılsın.

5. Tomcat'i durdurun

6. Clean + Build yapın

7. Tomcat'i yeniden başlatın.

İşlem tamamdır...

Hiç yorum yok: