Php ile asmx web servis haberleşmesi

Php ile asmx web servis haberleşmesi

Php ile asmx web servis haberleşmesi
Php ile asmx web servis haberleşmesi

Php ile asmx web servis haberleşmesi

php ile c# asmx web servis arasında nasıl iletişim kurabiliriz konusunu inceleyeceğiz.

Öncelikle php sunucumuzda SoapClient'ın aktif olup olmadığını kontrol etmemiz gerekir. Kontrol etmek için bir tane index.php dosyası oluşturup içerisine  phpinfo(); komutu yazıp index.php dosyamızı sunucuda çalıştırdığımızda sunucu özelliklerini ve aktif pasif bileşenleri görebiliriz. Açılan sayfada aşağıdaki gibi soapclient bileşeninin enabled olması gerekmektedir. 

Aktif değilse aktif hale getirmeniz gerekmektedir. Aktif etmek için php.ini dosyasında extension=php_soap.dll önündeki ; işaretini kaldırıp aktif edebilirsiniz.

Buraya kadar ayarları yaptığınızı varsayarak devam ediyorum,

C# ile asmx servisimizde aşağıdaki gibi bir metod oldugunu varsayarak

[WebMethod]
  public List urunjsongetir(string UserKodu, string UserPass, int gunsayisi)

php ile asmx servsimizde bulunan üstteki metodtan istekte bulunmak için aşağıdaki php kodlarını kullanırız.

$client = new SoapClient("http://url/servis.asmx?wsdl");
$params = array( 'UserKodu'  => 'deger gelecek', 
                'UserPass' => 'deger gelecek',
				'gunsayisi'=>deger gelecek
				);
$result = $client->urunjsongetir($params)->urunjsongetirResult;

if (!empty($result))
{
	if (file_exists("dosyaadi.json"))
		unlink("dosyaadi.json");
	
file_put_contents("dosyaadi.json", json_encode($result));
}


   Evet görüldüğü gibi c# ile yazılan asmx web servisten php SoapClient ile veri çekmek çok basit . üstteki örnekte verileri json olarak alıyoruz ve dosyaadi.json adında bir dosyaya kayıt ediyoruz.