Bir soap projesi üzerinde çalışıyorum.
Soap Uİ ile test yaptığımda başarılı sonuç alıyorum.
Aşağıdaki kodları da incelerseniz sanırım ne yapmak istediğimi anlatabilmiş olurum.
Fakat işlemi PHP ile yaptığımsa bir sorun yaşıyorum. Göndereceğim değerleri Array olarak tanımlıyorum ama bir değer için XML attribute olarak 2 tanımlama yapmak gerekiyor. Array ile bunu yapamadım Yapmanın başka bir yolu var mıdır acaba.
WSDL adresi
https://efaturatest.izibiz.com.tr/EFaturaOIB?wsdl
İşlem adresi
https://efaturatest.izibiz.com.tr:443/EFaturaOIB
Soap UI ile gönderdiğim XML
c64e467f-5058-454d-a828-e27fe79df8b0
N
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZG2U+
PHP Kodu
$req = [
"REQUEST_HEADER" => [
"SESSION_ID" => $sid,
"COMPRESSED" => "N"
],
'RECEIVER'=>[
'_'=>[
'vkn'=>$this->dbFatura->alvkn,
'alias'=>$this->eFaturaPk,
]
],
'INVOICE'=>[
'CONTENT'=>base64_encode($this->faturaData),
],
];
$send = $c->SendInvoice($req)
Sorun yaşadığım kısım ise bu
Yukarıdaki gibi XML kodunu array ile aşağıdaki gibi ve başka bir kaç şekilde tanımlamaya çalıştım ama olmuyor. Bununla ilgili hata veriyor. Soap konusundada ingilizce kaynak bile çok az (PHP için)
'RECEIVER'=>[
'_'=>[
'vkn'=>$this->dbFatura->alvkn,
'alias'=>$this->eFaturaPk,
]
],