веб-сервисы — Выполнение SOAP-вызова к WSDL с переполнением стека

https://www.ticimax.com/dokumanlar/webservis.pdf

Ticimax — это программное обеспечение для электронной коммерции в Турции. Я пытаюсь создавать продукты, используя их веб-сервис для одного из моих клиентов. Я использовал все их методы веб-сервиса. Но я застрял с их методом создания продукта «SaveUrunMsgstr «Поскольку этот метод имеет только одну вещь, отличную от других методов. Этот метод принимает параметр как ссылка

Метод SaveUrun находится в документе со страницы 7 по страницу 9.

Если вы посмотрите на страницу 9, вы увидите эту строку в конце определения метода:

urunServis.SaveUrun("U15saQ48dW453X1cA", ref urunKartlari, ukAyar, varyasyonAyar);

urunKartlari передается как ссылка.

Что такое реф? Что это означает? Что эквивалентно этому в PHP? Как я могу заставить мой код работать? Не могли бы вы мне помочь?

Вот что я получаю, когда делаю SOAP-вызов:

Значение не может быть нулевым. Имя параметра: источник

Вот мой пример кода:

<?php

$ticimax = new SoapClient("http://www.CLIENTDOMAIN.com/Servis/UrunServis.svc?wsdl");

$kategoriler = array();

$urunResimleri = array();

$varyasyonlar = array(
array(
"ID" => 0,
"Aktif" => false,
"AlisFiyati" => 10,
"Barkod" => "",
"Desi" => 1,
"KargoUcreti" => 0,
"KdvDahil" => true,
"KdvOrani" => 8,
"Ozellikler" => array(
array(
"Tanim" => "Numara",
"Deger" => 38
),
array(
"Tanim" => "Renk",
"Deger" => "Mavi")
),
"ParaBirimiID" => 1,
"Resimler" => array(),
"SatisFiyati" => 100,
"StokAdedi" => 15,
"StokKodu" => ""),
array(
"ID" => 0,
"Aktif" => false,
"AlisFiyati" => 10,
"Barkod" => "",
"Desi" => 1,
"KargoUcreti" => 0,
"KdvDahil" => true,
"KdvOrani" => 8,
"Ozellikler" => array(
array(
"Tanim" => "Numara",
"Deger" => 40
),
array(
"Tanim" => "Renk",
"Deger" => "Mavi")
),
"ParaBirimiID" => 1,
"Resimler" => array(),
"SatisFiyati" => 100,
"StokAdedi" => 15,
"StokKodu" => "")
);

$urunKarti = array(
"ID" => 0,
"Aktif" => false,
"UrunAdi" => "Test ürün adı",
"Aciklama" => "Test ürün açıklama",
"AnaKategori" => "İç Giyim",
"AnaKategoriID" => 1,
"Kategoriler" => $kategoriler,
"MarkaID" => 1,
"TedarikciID" => 1,
"Resimler" => $urunResimleri,
"SatisBirimi" => "Adet",
"UcretsizKargo" => false,
"OnYazi" => "Test ürün önyazı",
"PuanDeger" => 12,
"SeoAnahtarKelime" => "",
"SeoSayfaAciklama" => "",
"SeoSayfaBaslik" => "",
"Varyasyonlar" => $varyasyonlar,
"Vitrin" => false,
"YeniUrun" => false
);

$params = array(
array(
"UyeKodu" => WEBSERVICE_PASSWORD,
"UrunKartlari" => $urunKarti,
"ukAyar" => array(
"AciklamaGuncelle" => true,
"AktifGuncelle" => true,
"FBStoreGosterGuncelle" => false,
"FirsatUrunuGuncelle" => true,
"KategoriGuncelle" => false,
"MaksTaksitSayisiGuncelle" => false,
"MarkaGuncelle" => false,
"OnYaziGuncelle" => false,
"ParaPuanGuncelle" => true,
"SatisBirimiGuncelle" => false,
"SeoAnahtarKelimeGuncelle" => false,
"SeoSayfaAciklamaGuncelle" => false,
"SeoSayfaBaslikGuncelle" => false,
"TedarikciGuncelle" => false,
"UcretsizKargoGuncelle" => true,
"UrunAdiGuncelle" => true,
"UrunResimGuncelle" => false,
"VitrinGuncelle" => false,
"YeniUrunGuncelle" => true
),
"vAyar" => array(
"AktifGuncelle" => false,
"AlisFiyatiGuncelle" => true,
"BarkodGuncelle" => false,
"IndirimliFiyatiGuncelle" => true,
"KargoUcretiGuncelle" => false,
"KargoAgirligiGuncelle" => true,
"ParaBirimiGuncelle" => false,
"PiyasaFiyatiGuncelle" => true,
"SatisFiyatiGuncelle" => false,
"StokAdediGuncelle" => true,
"UyeTipiFiyat1Guncelle" => false,
"UyeTipiFiyat2Guncelle" => true,
"UyeTipiFiyat3Guncelle" => false,
"UyeTipiFiyat4Guncelle" => true,
"UyeTipiFiyat5Guncelle" => false,
"TedarikciKodunaGoreGuncelle" => false

)
)
);

try{

print_r($ticimax->__soapCall("SaveUrun", $params));


}
catch(Exception $e){
echo $e->getMessage();
}

?>

Можете ли вы исправить мой код?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]