erginkeles adlı üyeden alıntı: mesajı görüntüle
Merhabalar,

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

Bu adresteki webservis dökümanını kullanarak, ticimax altyapısına sahip bir müşterimin sitesinde ürün oluşturmaya çalışıyorum. Soap kullanarak webservis dökümanındaki tüm metodları kullanabildim. Yalnızca SaveUrun yani ürün oluşturma metodunda takıldım kaldım. Çünkü bu metodda diğerlerinden farklı olan tek bir şey var. O da c# olarak verdikleri örnekte bir parametreyi "ref" olarak göndermiş.

Webservis dökümanının 7. sayfasından 9. sayfasına kadar SaveUrun metodu işleniyor. 9. sayfaya bakarsanız;

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

şeklinde urunKartlari ref olarak gönderiliyor.

ref nedir? PHP'de bunun karşılığı nasıl olabilir, nasıl kullanılabilir. Konuyla ilgili bilgisi olan arkadaşların yardımcı olmasını rica ederim.

Aldığım hata şu:
Value cannot be null. Parameter name: source

Örnek kodum şu şekilde:

<?php

$ticimax = new SoapClient("http://www.MUSTERIALANADI.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" => $this->wsCode,
		"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();
}

?>
üstad php ile bende birşeyler karalıyorumda ticimaxten ürün çekip gönderip kullanmak için bir sistem hazırlamam lazım çok iyi degilim soap tarafında paylaşımını gördüm çok sevindim cidden. Rica etsem ürün çekme ve gönderme sayfalarını benimle paylaşabilir misin. Ücretlide olsa destek verirsen bana çok sevinirim. bilgi@emreay.com.tr