Öncelikli olarak GG de ayrıca Basic Auth da yapmanız gerekiyor, Size verilen Auth_user ve Auth_pass ları kullanmanız lazım.
getSales methodunu değiştirip getPagesSales methodu kullanmaya başladılar böylelikle sayfalandırmaları da kullanabileceğiz.
$apiKey = '';
$secretKey = '';
$auth_user = '';
$auth_pass = '';
list($usec, $sec) = explode(" ", microtime());
$time = round(((float)$usec + (float)$sec) * 100).'0';
$sign = md5($apiKey.$secretKey.$time);
$url = "http://dev.gittigidiyor.com:8080/listingapi/ws/IndividualSaleService?wsdl";
$soapParams = array(
'apiKey' => $apiKey,
'sing' =>$sign,
'time' => $time,
'byStatus' => 'S',
'byUser' => 'A',
'orderBy' => 'A',
'orderType' => 'A',
'pageNumber' => 1,
'pageSize' => 100,
'lang' => 'tr'
);
$soapClient = new SoapClient($url, array('login' => $auth_user, 'password' => $auth_pass, 'authentication' => SOAP_AUTHENTICATION_BASIC) );
$result = $soapClient->__soapCall('getPagedSales',$soapParams);
print_r($result);Açıkcası kısa bir örnek hazırladım. Burada ilgili değişkenlere verileri koyduğunda sorun yaşamadan istediğin veriyi çekebileceksin. SoapCall methodumu eğer try catch e sokarakta hataları yakalayabilirsin. Sign hesaplamanda da ayrıca bir sorun daha vardı onu göreceksin.
Umarım sana yardımcı olur.
Hocam çok anladığım söylenemez ama anladığım kadarıyla bu şekilde yapmayı denemiştim.
Buraya yazdıkdan sonra fark ettim Authorization: Basic doğrulaması da yapmam gerekiyormuş onunda kullanıcı adı ve şifresi var ama nasıl göndereceğimi bulamadım.
APIKEY GG nin verdiği Api key,
SING değeri : Apikey+secretkey+time(); şeklindedir.
ini_set("soap.wsdl_cache_enabled", "0");
try {
// SOAPClient nesnesi olustur
$client = new SoapClient("http://dev.gittigidiyor.com:8080/listingapi/ws/IndividualSaleService?wsdl");
// SOAPClient uzerinden karsi sunucudaki getAllNotebooks metodunu cagir
$notebooks = $client->SaleServiceResponse(
'getSales' => array(
'apiKey' => 'APIKEY',
'sing' => md5("SING".time().""),
'time' => time(),
'startOffSet' => 0,
'rowCount' => 5,
'withData' => 'false',
'byStatus' => 'S',
'byUser' => 'A',
'orderBy' => 'C',
'orderType' => 'A',
'lang' => 'tr'
)
);
echo "Metod basarili bir sekilde calistirildi.<br/>Sonuc asagidadir.<br/>";
echo "<pre>";
// Sonucu ekrana bas
var_dump($notebooks);
echo "</pre>";
} catch (Exception $exc) { // Hata olusursa yakala
echo "Soap Hatasi Olustu: " . $exc->getMessage();
}