Php soap ile çalışma yaparken aşağıdaki gibi bir kod işinizi çözeceğini düşünüyorum
// wsdl cache 'ini devre disi birak
ini_set("soap.wsdl_cache_enabled", "0");
// SSL güvenlik ayarları kapatılır
$opts = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false
)
);
// login ve diğer parametreler eklenir
$options = array(
'login' => 'ornek',
'password' => 'ornek',
'trace' => 1,
'exceptions' => 0,
'stream_context' => stream_context_create($opts)
);
// try catche içinde bağlantı çalıştırılır
try {
// wsdl bağlantı urlsi tanımlanır
$url = "http://ozturkce.com/server.php?wsdl";
// SOAPClient nesnesi olusturulur
$client = new SoapClient($url,$options);
// Mesela kimlik bilgilerini gönderip kişi bilgilerini almak istiyoruz.
// bunun için nesne oluşturuyoruz
// nesnenin parametre isimleri karşı taraftaki istek alanları ile aynı olmalı
$kimlik = new stdClass();
$kimlik->kimlik_no = '11220000001';
$kimlik->gun = '01';
$kimlik->ay = '01';
$kimlik->yil = '2000';
// soap kimlikSorgula fonksiyonuna kimlik bilgilerini gönderiyoruz
// response değişkenine atamasını yapıyoruz.
$response = $client->kimlikSorgula($kimlik);
echo "<pre>";
// Sonucu ekrana bas
print_r($response);
echo "</pre>";
// buradan kullanacağımız parametreleri alıp kullanabiliriz.
// örnek
$adi = $response->kimlikBilgisi->Ad;
$soyad = $response->kimlikBilgisi->Soyad;
} catch (Exception $e) { // Hata olusursa yakala
echo "Soap hata mesajı: " . $e->getMessage();
}
Bu kodda aşağıdaki kaynaktan faydalanışmıştır.
kaynak: https://github.com/ofke-yazilim/php-soap-v2/blob/main/client.php