nusoap - problem

0

Witam wszystkich, mam dosyć poważny problem. Korzystam z biblioteki nusoap. Miałem ustawionego crona, który pobierał dane z serwisu i zapisywał dane do bazy. Zauważyłem, że od 2 dni nie pobiera on danych, nie wiem co się mogło stać, nie grzebałem nawet w plikach odpowiedzialnych za to..
Jak chcę zrobić import danych to wyskakuje błąd : Invalid argument supplied for foreach() in /wp-content/plugins/wmzpn-tables/classes/class.wszpn_import.php on line 115
Ogólnie mój import wygląda tak:

function __construct($action = null) {
        parent::__construct();
        switch ($action) {
            case 'import':
                $this->_client = new nusoap_client($this->_wsdl);
                $this->_client->soap_defencoding = 'UTF-8';
                $this->_client->decode_utf8 = false;
                $this->_client->useHTTPPersistentConnection();
		$this->_sKey = $this->_getSessionParam('_sKey');
		$this->_logout();

                //if (!is_null($this->_sKey)) {
                    $this->_importPlaysList();
                    $this->_importCurrentRounds($this->_currentSeason);
                    $this->_importTimeSchedulesList($this->_currentSeason);
                    $this->_importTables($this->_currentSeason);
                    $this->saveConfig('last_import', time());
                //}

                break;

            default:
                break;
        }
    }

Kod w którym występuje błąd - czepia się do foreach ponieważ $_playsList zawiera NULL, tylko nie wiem dlaczego... :

protected function _importPlaysList($seasonId = null) {
        $_playsList = $this->_getSoapPlaysList($seasonId);
        foreach ($_playsList as $_key => $_plays) {
            $_insertValues = "("
                    . " '" . $_plays['ROZGRYWKA_ID'] . "',"
                    . " '" . $_plays['NAZWA_LIGI'] . "',"
                    . " '" . $_plays['SEZON_NAZWA'] . "',"
                    . " '" . $_plays['ZPN_ID'] . "',"
                    . " '" . $_plays['POZIOM_LIGI_ID'] . "',"
                    . " '" . date(DATE_FORMAT_FULL) . "'"
                    . ")";
            $_updateSet = ""
                    . " `nazwa_ligi` = '" . $_plays['NAZWA_LIGI'] . "',"
                    . " `sezon_nazwa` = '" . $_plays['SEZON_NAZWA'] . "',"
                    . " `zpn_id` = '" . $_plays['ZPN_ID'] . "',"
                    . " `poziom_ligi_id` = '" . $_plays['POZIOM_LIGI_ID'] . "',"
                    . " `modate` = '" . date(DATE_FORMAT_FULL) . "'";
            $_insert = "INSERT INTO `" . DB_PREFIX_EXTERNAL . "rozgrywka`(`rozgrywka_id`,`nazwa_ligi`,`sezon_nazwa`,`zpn_id`,`poziom_ligi_id`,`crdate`) VALUES" . $_insertValues . " ON DUPLICATE KEY UPDATE " . $_updateSet;
            mysql_query($_insert);

            unset($_insert, $_insertValues, $_updateSet);
        }
        unset($_playsList);
    }

Tutaj metoda _getSoapPlaysList :

protected function _getSoapPlaysList($seasonId = null) {
		$this->_importPlaysListCount += 1;
        $_params = array(
            'sessionKey' => $this->_sKey,
            'season_Id' => $seasonId
        );
        $_response = $this->_sendSoapMessage($_params, $this->_soapGetPlaysListAction);
        unset($_params);
        if (isset($_response['GetPlaysListResult']['diffgram']['NewDataSet']['_x0022_VE_ROZGRYWKI_x0022_'])) {
            return $_response['GetPlaysListResult']['diffgram']['NewDataSet']['_x0022_VE_ROZGRYWKI_x0022_'];
        } else {
            unset($_response);
        }

        return null;
    }

Jeśli ktoś wie o co może chodzić bardzo proszę o pomoc. Będę wdzięczny

0

Najwyraźniej API się zmieniło - bez wiedzy domenowej czy chociażby o jakim API mowa, ciężko tutaj cokolwiek podpowiedzieć.

0

To jest API : http://wszpn.pzpn.pl/Service.asmx
natomiast w kodzie mam zadeklarowane :

protected $_wsdl = "http://wszpn.pzpn.pl/Service.asmx";

I do tego czasu to działało, a nic się nie zmieniło, więc dziwi mnie to , że przestało to działać ;/

1 użytkowników online, w tym zalogowanych: 0, gości: 1