Normalde direk php'nin kendi SOAP modülünü kullanabilirsiniz. Ama onun için php.ini içinde SOAP'ı aktif etmeniz lazım. NuSOAP ile buna gerek kalmıyor.
Öncelikle http://sourceforge.net/projects/nusoap/ adresinden nusoap'ı indirin. (dikkat: docs olanı değil php dosyalarını içereni) Sonra kendi php dosyanızda bu indirdiğiniz php'ler arasında olan nusoap.php yi 'include' edin.
include('nusoap/nusoap.php');
Sonra yeni bir client oluşturun.
$client = new soapclient("http://bil.mem/ne.asmx?wsdl",true);
Sonra istediğiniz fonksiyonu çağırın. İlk değişken fonksiyon adı, ikincisi ise o fonksiyonun aldığı değişkenler olacak. Ama 'hash array' şeklinde, yani ilki değişken adı, ikincisi değişkenin değeri.
$parametreler = array('degiskenAdi' => 'degiskenDegeri');
$response = $client->call('bilmemneFonksiyonu',$parametreler);
Daha sonra (istiyorsanız) $response değişkenini de kullanabilirsiniz. Kullanırken dikkat etmeniz gereken $response değişkeninin yapısı; ki o da wsdl içinde belirtilmiş olması lazım.
14 Ekim 2010 Perşembe
30 Eylül 2010 Perşembe
Plantronics Backbeat 903 Kilitlenme Çözümü
Kulaklığınız hiçbir etkiye tepki vermediği durumda kilitlenmiş olabilir. Açma kapama tuşuna basıldığında veya basılı tutulduğunda hatta şarja takıldığında bile ledi yanmayabilir. Bu durumda Açma kapama tuşuna basılı tutarken şarja takın. Işığın yandığını göreceksiniz. Sonrasında eskisi gibi kullanabilirsiniz.
31 Ağustos 2010 Salı
wubi ile Ubuntu kurmak
Artık ubuntu kurmak için sabit disk bölümlendirmesi ile uğraşmanıza gerek yok. Yeni sürümlerle gelen wubi'yi çalıştırdığınız zaman windows üzerinde herhangi bir program yükler gibi Ubuntu'yu kurabilirsiniz. Ama erişim yine boot ile oluyor yani wubi'nin windows üzerinde ubuntu çalıştırma gibi bir kabiliyeti yok. Kaldırırken de kolayca 'uninstall' edebilirsiniz. Yalnız kurarken dikkat edilecek husus şu ki, eğer iso dosyası wubi ile aynı dizin içinde değilse wubi torrent yolu ile ubuntu'yu kendi indirip kuruyor. Optik medyadan çalıştırıldığında ise böyle bir problem olmuyor.
14 Ağustos 2010 Cumartesi
iPhone 3GS iOS4 için jailbreak ve unlock
iPhone, iPod veya iPad cihazımızdan jailbreakme.com a giriyoruz ve 'slide to jailbreak' kısmından kolayca jailbreak yapabiliyoruz. Jailbreak'in olup olmadığını home screen'deki Cydia App'ten anlayabiliriz.
Unlock için önce 3G network'u kapatıyoruz. Cydia'yı çalıştırıyoruz. Manage > Sources diyoruz. Önce Edit sonra Add diyoruz. Url olarak http://repo666.ultrasn0w.com giriyoruz. Add Source diyoruz. Sonra Search'ten Ultrasn0w u aratıyoruz. Bulunan uygulamayı yüklüyoruz. Bu kadar.
8 Ağustos 2010 Pazar
MySQL Rezerve Edilmiş Kelimelerin Kullanımı
Bir MySQL sorgusu içinde kullandığınız tablo ve kolon isimleri eğer MySQL tarafından rezerve edilmiş kelimeler listesi içindeyse onları 'backquote' (``) içinde yazmalısınız. Mesela kolonlarınızdan birine 'from' veya 'to' ismini verecekseniz, "INSERT INTO tablo (from,......." yerine "INSERT INTO tablo (`from`,...." demelisiniz.
MySQL rezerve kelimelerinin tam listesi için:
5 Haziran 2010 Cumartesi
Google Servislerine Ulaşmak
Bilindiği üzere BTK (Bilgi Teknolojileri ve İletişim Kurumu) mahkeme tarafından erişilmesi yasaklanan YouTube isimli video paylaşım sitesinin IP lerini blokluyor. Bu engel, DNS kullanarak veya host dosyası modifiye edilerek aşılıyordu. Son IP listesi güncellemesi ile Google DNS (8.8.8.8 - 8.8.4.4) artık (en azından bende) işe yaramıyor.
Bunun için host dosyasına bir takım eklemeler yapabiliriz. Bloklanmayan bir IP adresinden sonra girmek istediğimiz google servisini (ya da herhangi bir adresi -tabi onun çalıştığı bir IP'yi girmek şartı ile) yazarız. Mesela
74.125.43.103 code.google.com
gibi. Herhangi bir google servisi için bu IP adrsini kullanabilirsiniz. Unutmadan, bu erişim engelinin Google için yapılmadığını çünkü Google hakkında bir mahkeme kararı olmadığını, yasağın kapsamının sadece YouTube ile (en azından şimdilik) sınırlı olduğunu belirteyim. Sadece BTK, YouTube erişiminin olduğu IP'leri bloklayınca o IP üzerinden hizmet veren diğer Google servislerine de ulaşılamıyor. En kısa sürede Google'ın bu işi otomatik yönlendirme ile halledeceğini ümit ediyorum. BTK'nın açıklamasının ayrıntıları için:
Yasak kapsamında Ulaştırma Bakanı Binali Yıldırım'ın verdiği yanıt, düşücelerimi Türkiye'nin haklı olduğu yönünde değiştirmeye başladı:
“Youtube, Türkiye’den girişler azaldığı için Google girişlerini kullanmaya başladı. Kendi IP’lerini bırakıp Google IP’lerini kullanmaya başladı. Arıyoruz, telefonlarımıza bile çıkmıyorlar, muhatap bile olmuyorlar. Bir site bizi esir alamaz. Bir de Türkiye yasakçılar listesinde diye propaganda yapıyorlar.
Vuku bulan işlerle verilen ceza orantısızdır diyebilirsiniz, buna tamam. Peki neden haklarını aramıyorlar? Neden Türkiye’ye tabi olmak istemiyorlar. Neden vergi dairesinin adresini bilmiyorlar? Siz Google’dan zengin misiniz? Siz vergi vereceksiniz, onlar bu kadar reklama rağmen vergi vermeyecekler… Beni yasakçı saysınlar önemli değil. Kimse bu ülkeyi hafife alamaz. İsrail’e özel içerik yapıyor. 28 ülkeye özel içerik yapmışsın. Bize de yap, yapmam. Bunları çıkar, çıkarmam. Türkiye’yi yok sayıyorlar, vergi mükellefi olmak istemiyorlar. Mahkeme karar veriyor, itiraz etmiyorlar. Neden? Çünkü muhatap almıyorlar…”
Vuku bulan işlerle verilen ceza orantısızdır diyebilirsiniz, buna tamam. Peki neden haklarını aramıyorlar? Neden Türkiye’ye tabi olmak istemiyorlar. Neden vergi dairesinin adresini bilmiyorlar? Siz Google’dan zengin misiniz? Siz vergi vereceksiniz, onlar bu kadar reklama rağmen vergi vermeyecekler… Beni yasakçı saysınlar önemli değil. Kimse bu ülkeyi hafife alamaz. İsrail’e özel içerik yapıyor. 28 ülkeye özel içerik yapmışsın. Bize de yap, yapmam. Bunları çıkar, çıkarmam. Türkiye’yi yok sayıyorlar, vergi mükellefi olmak istemiyorlar. Mahkeme karar veriyor, itiraz etmiyorlar. Neden? Çünkü muhatap almıyorlar…”
25 Mayıs 2010 Salı
Apache Gerisinde Tomcat Çalıştırmak
Apache güzel bir sunucu. Tomcat ise java tabanlı web projelerinde kullanılıyor. Sadece tomcat yükleyip de direk kullanabilirsiniz. Ama ben apache'yi önde bir geçiş sunucusu olarak kullanamak istedim. Böylelikle php de interpret edebiliyorum.
Şimdi gelelim teknik detaylara. Dışardan rahatça erişmek için port olarak 80 yani http portunu kullanmak lazım. Kimse web sitesine girerken www.bilmemne.com:12345 yazmak istemez. Neyse Apache zaten default olarak http portuna kuruluyor. Redhat türevi sunucularda
$yum install httpd
diyerek apache sunucusunu kurabilirsiniz. İsterseniz veya özel bir sürüm kurmak istiyorsanız apache sitesinden de indirebilirsiniz. tar.gz uzantılı dosyayı indirip çıkartıyoruz. Sonra Tomcat'i kurmamız lazım. Sonra derken, aslında sıra farketmez. Onun için de
$yum install tomcat6
diyebilirsiniz. Benim zamanımda son sürümler Apache için 2.2 Tomcat için 6 idi. Hangi programların hangi versiyonlarının yum'da yüklü olduğunu
$yum search httpd
veya
$yum search tomcat
diyerek de kontrol edebilirsiniz. Neyse konumuza geri dönelim. yum ile yüklediğiniz zaman /etc klasörüne yüklüyor. İsterseniz taşıyabilirsiniz de. Mesela /opt'a taşıyabilirsiniz. Yum'suz kurmak için
$wget http://godel.cs.bilgi.edu.tr/apache/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz
deyip indirebilirsiniz. Yalnız bu link sürekli değişebilir. O yüzden Apache sitesinden kontrol edin. Sonra
$tar xzvf apache-tomcat-6.0.26.tar.gz
deyip çıkartın. İsterseniz her defasında apazche-tomcat-6.0.26 yazmak istemiyorsanız sembolik link oluşturabilirsiniz. Bir nevi kısayol olarak düşünülebilir.
$ln -s /opt/apache-tomcat-6.0.26 tomcat
Şimdi teknik detaylara devam edelim. Tomcat'in varsayılan portu 8080. (Bunu da değiştirebilirsiniz. Değiştirmek için tomcat klasörü içinde conf klasöründe server.xml dosyasını açın. Orada comment edilmemiş vaziyette bulunan 8080 portunu değiştirebilirsiniz. Değiştirmeye filan gerek yok aslında ama 8080 başkasına atanmışsa veya illa başka port kullanmak istiyorsanız o sizin bileceğiniz iş.) Benim kullandığım metod proxy. Yani Apache içindeki bir klasörü direk Tomcat'a yönlendirmek. Bunun için Apache'nin httpd.conf doyasını değiştireceğiz.
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Bu satırlar zaten vardır. Yoksa ekleyin. Bunlardan sonra
ProxyPass /apac_dir/ http://localhost:8080/tomcat_dir/
ProxyPassReverse /apac_dir/ http://localhost:8080/tomcat_dir/
satırlarını yazın. Bunlar şu manaya geliyor. Apache'ye apac_dir dizini üzerinden gelen istekler direk olarak 8080 portunda çalışan sunucunun tomcat_dir dizinine yönledirilir. Burada Tomcat'e bir bağımlılık yok, porta bir bağımlılık yok, hatta localhost'a bile bağımlılık yok. Yani istediğiniz bir sunucunun istediğiniz bir portuna 'port' edebilirsiniz. Bunu yapmanız sonucunda artık www.mysiteadress.com/apac_dir dediğiniz zaman bu isteği Tomcat karşılar ve Tomcat'in webapps/ROOT içindeki tomcat_dir çalışır. Ha unutmadan b işemleri yaptıktan sonra tomcat ve apache'yi yeniden başlatmayı unutmayın.
Bu yaptığımız yöntem belli bir dizini tamamen apache üzerinden tomcat'e yönlendirmeye yaradı. Fakat apache statik dataları tomcatten daha verimli işlediği için bir dizine gelen bütün istekleri tomcat'e yönlendirmek mantılı olmayabilir. 'Daha verimli bir yol yok mu?' 'Sadece gereken dataları tomcat'e yönlendirsek?' diye düşünenler varsa mod_jk metodunu kullabilirler.
Kaydol:
Kayıtlar (Atom)