Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 60 odgovora
  • 70.730 pregleda

Najnovija ↓

Re: Kursna lista NBS 28.12.2006. u 11:11 · pre 241 mesec #22
Mozda ce vam ovo pomoci...

napisao sam adminu mejl i on(a) mi je je odgovorio(la) sledece:
Nadam se da ce vam ovo pomoci. Mozda ce se naci i neki PHP genije koji ce da napise funkciju za parsovanje ovoga XML konstrukta.



Postovanje,

U attachmentu vam prosledjujemo uputsvo koriscenja web servisa za kursne
liste.

Isto ce danas biti objavljeno na sajtu.

Pozdrav,

Web urednistvo NBS.




Narodna banka Srbije
Informaciona Tehnologija
Odeljenje za aplikativnu podršku
Uputstvo za korišćenje web servisa trenutno važeće kursne liste NBS
Lokacija service-a:
http://webservices.nbs.yu/Comm.../TempExchangeRatesService.asmx
WSDL service-a se nalazi na adresi:
http://webservices.nbs.yu/Comm...ExchangeRatesService.asmx?WSDL
--------------------------------------------------------------------
Metode servisa su sledece:
DataSet GetCurrentExchangeRates(decimal nExchangeRatesTypeID) -- preporuceni
nacin koriscenja za klijente koji ce konzumirati servis iz .NET aplikacija
string GetCurrentExchangeRatesXML(decimal nExchangeRatesTypeID) -- preporuceni
nacin koriscenja za klijente koji ce konzumirati servis iz drugih tehnologija ,pri tome su validne vrednosti za parametar nExchangeRatesTypeID {1, 2, 3}
1 – kurs za devize
2 – kurs za efektivu
3 – srednji kurs
---------------------------------------------------------------------
Ostali parametri sistema:
U zaglavlju zahteva (AuthenticationHeader) moraju se proslediti sledeci parametri:
UserName, Password, LicenceID
Prametru UserName treba proslediti vrednost TempTest,
Parametru Password treba proslediti vrednost TempTestPassword
Parametru LicenceID treba proslediti vrednost 0
Ukoliko postoji neko pitanje mozete ga uputiti na e-mail [email protected]
Re: Kursna lista NBS 20.06.2007. u 12:26 · pre 235 meseci #23
Da li bi mogao da okacis verziju koja vraca XML tako da mogu da formatiram output onako kako mi je potrabno?
Re: Kursna lista NBS 01.10.2007. u 16:59 · pre 232 meseca #24
Code:

<?
require_once('../lib/nusoap.php');
$soapaction = "http://www.nbs.rs/TempExchange...ervice/GetCurrentExchangeRates";

$wsdl = "http://webservices.nbs.yu/Comm...ExchangeRatesService.asmx?wsdl";
$namespace = "http://www.nbs.rs/TempExchangeRatesService";
$client = new soapclientw($wsdl);

$mysoapmsg = $client->serializeEnvelope('<GetCurrentExchangeRates xmlns="http://www.nbs.rs/TempExchangeRatesService">
      <nExchangeRatesListTypeID>1</nExchangeRatesListTypeID>
    </GetCurrentExchangeRates>','<AuthenticationHeader xmlns="http://www.nbs.rs/TempExchangeRatesService">
      <UserName>TempTest</UserName>
      <Password>TempTestPassword</Password>
      <LicenceID>0</LicenceID>
    </AuthenticationHeader>',array(),'document', 'literal');

$response = $client->send($mysoapmsg, $soapaction);

if ($client->fault) {
echo '<h3>Fault</h3><pre>';
print_r($response);
echo '</pre>';
}
echo $client->response;
?>


Ovo ce ti biti dovoljno da udjes u fazon. Potrebna ti je biblioteka NuSoap da mi mogao da koristis funkcije WS-a u 4-ci. Radi i u 5ci mada onda moras da prebacis ime klase SoapClient u npr SoapClientW kao sto sam ja to uradio...

Fora je da se mora rucno praviti Envelope deo Soap poruke jer .NET pravi problem kada se poziv ne formira na odgovarajuci nacin. Ako me ne bude mrzelo detaljnije cu ceo postupak objasniti na mom blogu > www.insaned.net.

Pozdrav!
Potpis
www.insaned.net
Re: Kursna lista NBS 03.10.2007. u 08:56 · pre 232 meseca #25
Citat:
milivoye: Da li bi mogao da okacis verziju koja vraca XML tako da mogu da formatiram output onako kako mi je potrabno?


Evo kako ja preuzimam kursnu listu u XML-u od NBS :

Code:

function getXML(){
        ini_set('user_agent', 'Mozilla Firefox');
        $date=date("d.m.Y");
        $url='http://www.nbs.yu/internet/latinica/scripts/kl.html?datum=';
        $url.=$date.'&broj=br.&godina='.date("Y").'&vrsta=1&eksport=xml';
        $xml = file_get_contents($url);
        preg_match("@(<kursna_lista>)(.*?)(</kursna_lista>)@si", $xml, $matches); 
        $ret = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
        $ret .= $matches[0];
        return $ret;
}


Poz
sale

Potpis
Sto mozes danas ne ostavljaj za sutra!
Re: Kursna lista NBS 17.10.2007. u 18:12 · pre 231 mesec #26
Evo moje verzije programa;

Code:

<?php
require_once('nusoap.php');

$wsdl = "http://webservices.nbs.yu/Comm...ExchangeRatesService.asmx?WSDL";
$namespace = "http://www.nbs.rs/TempExchangeRatesService";
$client = new soap_client($wsdl, true);

$header = 
'<AuthenticationHeader xmlns="http://www.nbs.rs/TempExchangeRatesService">
      <UserName>TempTest</UserName>
      <Password>TempTestPassword</Password>
      <LicenceID>0</LicenceID>
 </AuthenticationHeader>';

$client->setHeaders($header);

$parameters_array = array('parameters' => array(
                                            'nExchangeRatesListTypeID'=>1 // kurs za devize
                                            //'nExchangeRatesListTypeID'=>2 // kurs za efektivu
                                            //'nExchangeRatesListTypeID'=>3 //srednji kurs
                                            )
                        );

$xml_result_array =  $client->call('GetCurrentExchangeRatesXML', $parameters_array) ;
$xml_result = $xml_result_array['GetCurrentExchangeRatesXMLResult'];
echo $xml_result;

/*
 a moze i druga funkcija iz WS-a
$xml_result_array =  $client->call('GetCurrentExchangeRates', $parameters_array) ;
$xml_result = $xml_result_array['GetCurrentExchangeRatesResult'];
echo $xml_result;
*/
?>

POZ
Re: Kursna lista NBS 13.11.2007. u 15:49 · pre 230 meseci
izmenjeno 1 put, poslednji put Cybernoid II 13.11.2007. u 16:00
  1. Cybernoid II13.11.2007. u 16:00zapis iz teksta poruke
#27
Citat:
.NET pravi problem kada se poziv ne formira na odgovarajuci nacin

Istina...
Evo i moj mali doprinos za one koji koriste SOAP extension i klase
Code:

class AuthenticationHeader{
    function __construct() {
        $this->UserName='TempTest';
        $this->Password='TempTestPassword';
        $this->LicenceID=0;
    }
    public $UserName;
    public $Password;
    public $LicenceID;
}

class NBSSoapClient extends SoapClient {

    function __construct($wsdl,array $options){
        parent::__construct($wsdl,$options);    
        $auth=new AuthenticationHeader;
        $authvalues = new SoapVar($auth, SOAP_ENC_OBJECT);
        $header =  new SoapHeader('http://www.nbs.rs/TempExchangeRatesService','AuthenticationHeader', $authvalues, false);
        $this->__setSoapHeaders(array($header));
    }

    function __doRequest($request, $location, $action, $version) {
        $request=mb_ereg_replace('ns1:','',$request);
        $request=mb_ereg_replace(':ns1','',$request);
        $request=mb_ereg_replace('SOAP-ENV','soap',$request);
        $request=mb_ereg_replace('Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"','Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"',$request);
    return parent::__doRequest($request, $location, $action, $version);
    }
}

class GetCurrentExchangeRatesXML{
    function __construct($ID=3) {
        $this->nExchangeRatesListTypeID=$ID;
    }
    public $nExchangeRatesListTypeID;
}



Koristi se na sledeći način

Code:

$NBSclient = new NBSSoapClient("http://webservices.nbs.yu/Comm...ExchangeRatesService.asmx?WSDL",array(
            'soap_version' => SOAP_1_1,
            'style' => SOAP_DOCUMENT,
            'encoding' => 'utf-8',
            'use' => SOAP_LITERAL
        ));

$parameters= new GetCurrentExchangeRatesXML(3);
$response=$NBSclient->GetCurrentExchangeRatesXML($parameters);


Naravno ovo može da se još malo ulepša...
Potpis
#!/usr/bin/basho
mv frog ancient_pond
echo "Splash!"
Re: Kursna lista NBS 28.07.2009. u 14:51 · pre 210 meseci #28
Evo moram da podignem ovu temu :)

Kako pristupiti servisu NBS kada vise ne vazi test period, potrebni su pravi parametri za pristup koje mogu da dobiju iskljucivo pravna lica?

da li postoji neki nacin da preuzmem vazecu kl NBS sobirom da sam fizicko lice?
Potpis
http://dir.vizio.biz
Re: Kursna lista NBS 28.07.2009. u 15:00 · pre 210 meseci #29
(Dok ti ne odgovori neko ko se zaista bavio time... :))
Evo malo Googlah i pronađoh ovo:

Code:
http://www.nbs.rs/internet/latinica/scripts/kl.html?datum=DD.MM.YYYY&vrsta=1&eksport=EXP


EXP može biti xml, csv, html (lowercase)

Mada opet izgleda da moraš da čupaš xml/csv iz HTML-a :/

Takođe, možda možeš da se poslužiš ovim: http://kursna-lista.info/rss.xml

Kontaktirao sam Nenada (vlasnik sajta kursna-lista.info) da se javi na ovoj temi pa možda on bude znao kako da ti pomogne, jer on vuče kurs sa sajta NBS.

Pozdrav,
Nemanja
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: Kursna lista NBS 28.07.2009. u 15:32 · pre 210 meseci #30

Nemanja hvala ti! :)

Po svemu sudeci cu morati da se bavim parsiranjem.. al ajde da sacekam jos malo,
mozda se javi neko sa jos nekom idejom!

pozzz
Potpis
http://dir.vizio.biz
Re: Kursna lista NBS 28.07.2009. u 20:01 · pre 210 meseci #31
Pozdrav Marija. Na onoj drugoj temi si spomenula da ti je glupo da parsiraš neku stranu na netu. Hteo bih da te pitam zašto tako misliš? :) Sasvim je normalno da se to radi ako ti trebaju neki podaci koji se nalaze na toj strani a ne možeš na drugi način da dođeš do njih.

Ja planiram da napravim web servis (verovatno SOAP) za kursnu listu ali to tek kad završim novu verziju sajta (zbog drugih obaveza ne znam kad će to biti). Do tada ili ćeš morati da parsiraš sajt NBS-a ili neki drugi sajt koji pruža te informacije. Ne znam koliko dobro stojiš sa parsiranjem ali tu smo da pomognemo.

Možda ti od pomoći bude bila table2arr klasa...


Edit:

Da dodam da je ovde na forumu ranije bilo primera parsiranja sajta NBS-a pa pokušaj da nađeš to koristeći pretragu. Možda čak ima nešto i u ovoj temi (nisam je pročitao celu...).
Re: Kursna lista NBS 29.07.2009. u 11:50 · pre 210 meseci #33
pomenula sam da mi je bezveze da parsiram neku web stranu, jer onda automatski zavisim od te strane, ako je izmene, ja moram da menjam svoj kod.. mnogo bi bila bolja varijanta da preuzimam kl u nekom formatu bilo da je xml ili neki drugi, pa da odatle izvlacim podatke, nego da se vezujem za tu neku stranu.. ako je to jedino resenje onda cu morati tako..

sto se tice parsiranja, pojma nemam kako sa tim stojim u php-u, jos se nisam time bavila (jesam u delfiju), videcu kako ce mi ici..

hvala na ponudjenoj pomoci svakako, ako bude trebalo obraticu se!


agvozden, bas me cudi kako ti prolazi wdsl (temp user) .. meni je to prestalo da radi onog momenta kad je prosao test period... probacu ponovo da ukljucim, ali sumnjam da ce mi proraditi...

pozzz
Potpis
http://dir.vizio.biz
Re: Kursna lista NBS 29.07.2009. u 16:45 · pre 210 meseci #34
Citat:
makki: pomenula sam da mi je bezveze da parsiram neku web stranu, jer onda automatski zavisim od te strane, ako je izmene, ja moram da menjam svoj kod..


Da, ne može drugačije. Na svom sajtu imam cron job koji se izvršava na svaka 4 sata i koji proverava da li je izmenjen(a) sajt/stranica NBS-a. Ako se to desi, a nadam se da neće nikad ili barem ne u nekom nezgodnom trenutku :), automatski ću dobiti SMS tako da ću imati dovoljno vremena da izmenim kod do sledećeg update-a baze.
Re: Kursna lista NBS 05.08.2009. u 00:05 · pre 209 meseci #35
Evo ako neko hoće da parsira XML:

http://kursna-lista.info/dev/xml.php (RSD, jednostavno, podaci Narodne banke Srbije)
http://kursna-lista.info/dev/xml_all.php (RSD, komplikovano)
http://kursna-lista.info/dev/rates2.php?code=rsd&xml (code može da se menja)
http://kursna-lista.info/dev/rates2.php?code=rsd&rss (RSS)


Napomena: Preporučujem svakome ko želi da koristi ove resurse da me obavesti email-om na nenad.vasic <at> irondev.net kako bi na vreme dobio obaveštenje u slučaju izmena ovih URL-ova. Neću vas spamovati. Časna programerska. :)
Re: Kursna lista NBS 05.08.2009. u 14:06 · pre 209 meseci #36
Samo da javim da sam sredila kod, problem je bio do mene, u svakom slucaju sada mi radi to kako treba..
I dalje koristim testni user za servis Narodne banke i funkcionise!

Hvala svima na ponudjenoj pomoci i odgovorima :)

Pozzz
Marija.
Potpis
http://dir.vizio.biz
Re: Kursna lista NBS 16.09.2009. u 19:16 · pre 208 meseci #37
makki jel možeš da staviš ovde kod koji koristiš? Hvala.
Re: Kursna lista NBS 30.12.2009. u 21:46 · pre 204 meseca
izmenjeno 2 puta, poslednji put nikolaamp 30.12.2009. u 22:04
  1. nikolaamp30.12.2009. u 22:04zapis iz teksta poruke
  2. nikolaamp30.12.2009. u 22:04zapis iz teksta poruke
#38
Zdravo svima,


Zeleo sam da pitam da li je neko mozda implementirao ovaj servis nakon promena u septembru koje je NBS uradila? Ja sam koristio prosli uz pomoc nusoap PHP biblioteke, ali se sa novim nikako nesto ne snalazim. Bilo bi od velike pomoci ukoliko bi neko postovao kod koji je koristio ili makar deo koda.


Kod koji sam ja koristio je:

$soapaction = "http://communicationoffice.nbs.rs/GetCurrentExchangeRate";
$wsdl = "https://webservices.nbs.rs/Com...tExchangeRateService.asmx?WSDL";
$namespace = "http://communicationoffice.nbs.rs";

//kreiranje SOAP klijenta, tj. objekta preko kog ce se komunicirati
$client = new soapclient($wsdl);

//kreiranje poruke, XML-a, koja ce biti poslata Web servisu NBS-a
$mysoapmsg = $client->serializeEnvelope('<GetCurrentExchangeRate xmlns="http://communicationoffice.nbs.rs"><exchangeRateListTypeID>1</exchangeRateListTypeID></GetCurrentExchangeRate>
','<AuthenticationHeader xmlns="http://communicationoffice.nbs.rs"><UserName>**********</UserName><Password>**********</Password><LicenceID>**********</LicenceID></AuthenticationHeader>',array(),'document', 'literal');

//prihvatanje poruke od WS-a
$response = $client->send($mysoapmsg, $soapaction);


Medjutim, dobijam gresku:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://webservices.nbs.rs/Com...tExchangeRateService.asmx?WSDL' : Start tag expected, '<' not found...


Hvala unapred na pomoci!

Pozdrav,
Nikola
Re: Kursna lista NBS 04.08.2010. u 09:53 · pre 197 meseci #39
kazite mi gde gresim
Hvala unapred
Code:
$wsdl = "https://webservices.nbs.rs/Com.../ExchangeRateService.asmx?WSDL";

 $soapClient = new SoapClient($wsdl);
$sh_param = array('UserName'    =>    'sajt',
                    'Password'    =>    'ime',
                    'LicenceID'    =>    '0'
                    );
        $headers = new SoapHeader('http://www.nbs.rs/TempExchangeRatesService','AuthenticationHeader', $sh_param); 

 $soapClient->__setSoapHeaders(array($headers)); 
 $ap_param =array( 'nexchangeRateListTypeID'=>1 // kurs za devize
                                            //'nExchangeRatesListTypeID'=>2 // kurs za efektivu
                                            //'nExchangeRatesListTypeID'=>3 //srednji kurs
                         
                        );
$info = $soapClient->__call("GetCurrentExchangeRate", array($ap_param)); 
print_r($info);
Re: Kursna lista NBS 04.08.2010. u 10:02 · pre 197 meseci #40
A greska je...?
Tema je zaključana, nove poruke nisu moguće.

Premeštanje teme