Skip to content

Ocak 16, 2012

5

PHP ile WS-Security SOAP Servislerine Bağlanmak

php-ws-security-soap

Merhaba arkadaşlar, bu yazımızda WS-Security konusunu ele alacak ve PHP ile  WS-Security kullanan SOAP web servislerine nasıl bağlanabileceğimizi inceleyeceğiz.

PHP halihazırda WS-Security tabanlı web servisi oluşturmayı desteklemesede WS-Security tabanlı servislere bağlanmak mümkün. WS-Security tabanlı bir web servisine bağlanmak için PHP ‘nin yerleşik olan SoapClient sınıfını kullanmak yeterli.

WS-Security (WSS) Nedir ?

WS-Security, OASIS (Organization for the Advancement of Structured Information Standards) tarafından geliştirilmiş ve web servislerine güvenlik özellikleri ekleyen bir standarttır. Her ne kadar performans kaybı yaşatıyor olsada kullanmak zorunda olduğunuzda bu kodlar işinize yarayabilir.

PHP ile WS-Security (WSS) SOAP Servisine Nasıl Bağlanılır ?

<?php

// wsdl cache 'ini devre disi birak
ini_set("soap.wsdl_cache_enabled", "0");

try {

  // SOAP parametreleri
  $soapOptions = array('login' => "username",
                        'password'     => "password",
                        'soap_version' => SOAP_1_2
                        );
// SOAPClient nesnesi olustur
$client = new SoapClient("adress", $soapOptions);

} catch (Exception $exc) { // Hata olusursa yakala
  echo "Soap Hatasi Olustu: " . $exc->getMessage();
}
?>

Yukarıda bulunan “username” ve “password” alanlarıda ws-security tabanlı web servisine login olurken kullanacağınız kullanıcı adı ve şifresini yazmanız gerekiyor. Sonrasında diğer metodları PHP ile Web Servislerine Bağlanmak yazısında olduğu gibi çağırabilirsiniz.

Sonuç:

Yazımızın sonunda lazım olduğunda günlerce araştırıp bulduğumuz bu küçük bilgilerin işinize yarayacağını temenni ediyoruz.

Kaynaklar:

WS-Security – Wiki
WS-Security (.ppt) – UCSB
WS-Security 1.1 Spec (.pdf) – OASIS
Understanding WS-Security – MSDN
Why use WS-Security – Chris Seary’s blog

Toplam 5 Yorum Yorum Yaz
  1. Bahadır
    Şub 10 2012

    kps.saglik.gov.tr adresinde olduğu gibi ws-security https üzerinden bir sorgu var yeni mernis değişti bu konu hakkında bana yardımcı olur musunuz lütfen_?

    Cevapla
    • Şub 15 2012

      Entegrasyonda takıldığınız konuda sorunu iletirseniz bilgimiz dahilinde yardımcı olmaya çalışırız.

      Cevapla
  2. Mehmet Ali Çetin
    Mar 5 2012

    Öncelikle Kaynaklarınızdan dolayı teşekkürler. Üzerinde çalıştığım projenin kurgulanmasında gerçekten çok ama çok işe yaradı.

    Benim aklıma takılan konu şu.
    Server oluştururken Kullanıcı Adı ve Şifre ile giriş yapmayı sağlatabilirmiyiz.
    Yani sadece bu kullanıcı adı / Şifre bu datayı çeksin die

    Gerçi bunu yapmak için server tarafındaki dosya üzerinden içerdeki bi fonksiyonla db den kontrol yaptırabilirim sıkıntı yok da merakım bunun desteğini PHP ‘nin SoapSERVER tarafı sağlıyormu
    Cevabınız için şimdiden teşekkürler

    Cevapla
    • Nis 12 2012

      Merhaba Mehmet Ali bey,

      Sanırım PHP SOAP Server ile bunu yapmak mümkün değil. WS-Security standartlarına göre bir web servisi sunucusu bunu yapabiliyor olması gerekiyor. Sonraki versiyonlarda bir destek gelir diye düşünüyorum.

      İyi Çalışmalar

      Cevapla
  3. İbrahim Gündüz
    Nis 4 2012

    Yine çok başarılı. Soapla ilgili daha çok yazı ve örnek bekliyoruz :) Ellerine sağlık.

    Cevapla

Sizin fikriniz nedir? Lütfen aşağıdaki formu kullanarak yorum yapın.

(gerekli)
(gerekli)