Využití webových služeb LLU z aplikací alternativních operátorů Verze 3.1.2 (24.9.2012) 2008 NESS Central & Eastern Europe, Czech Republic. Všechna práva vyhrazena.
Obsah 1 Úvod... 3 1.1 Účel a rozsah dokumentu... 3 1.2 Platnost dokumentu... 3 2 Webové služby LLU... 4 2.1 Popis webových služeb... 4 2.1.1 Schéma architektury řešení WS LLU... 4 2.1.2 Služba pro kontrolu ověření DSLAM checkolodslam... 4 2.1.3 Služba dotazu na MDF ID MDFQuery... 5 2.1.4 Služba pro kontrolu ověření DSLAM OLOADSLCheck... 7 2.1.5 Nová služba pro kontrolu ověření DSLAM OLOADSLCheckExt... 9 2.1.6 Služba dotazu na Host ID HostQuery... 11 2.2 Definice webových služeb... 14 2.3 Zabezpečení webových služeb... 20 2.3.1 Omezení přístupu... 20 2.4 Volání webových služeb... 21 2.4.1 Příklady HTTP požadavků na službu checkolodslam... 22 2.4.2 Příklady HTTP požadavků na službu MDFQuery... 23 2.4.3 Příklady HTTP požadavků na službu OLOADSLCheck... 25 2.4.4 Příklady HTTP požadavků na službu HostQuery... 27 2.5 Popis nových webových služeb UbbChecker... 29 2.5.1 Služba pro kontrolu dostupnosti dle telefonního čísla, resp. identifikátoru linky UbbCheckForOLO 1.0... 29 2.5.2 Služba pro kontrolu dostupnosti dle telefonního čísla, resp. identifikátoru linky UbbCheckForOLO 2.0... 31 2.5.3 Služba pro ověření pravděpodobné realizovatelnosti služby před objednáním služby v případě neexistence linky v O2 UbbScanForOLO 1.035 2.5.4 Služba pro ověření pravděpodobné realizovatelnosti služby před objednáním služby v případě neexistence linky v O2 UbbScanForOLO 2.037 2.5.5 Definice webové služby UbbCheckerForOLO... 40 2.5.6 Příklady XML UbbCheckerForOLO... 41 3 Současný stav poskytovaných služeb LLU... 47 4 Změny proti předchozím verzím... 48 LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 2/48
1 Úvod 1.1 Účel a rozsah dokumentu Účelem tohoto dokumentu je popsat webové služby LLU společnosti O2 Czech Republic. Tato verze nově obsahuje: Doplnění nové webové služby UbbCheckerForOLO, obsahující operace UbbCheckForOLO a Ubb- ScanForOLO, podporujících zjišťování dostupnosti broadbandové služby i na technologii VDSL. 1.2 Platnost dokumentu Změny zavedené touto verzí dokumentu začnou platit dne 24. 11. 2012. Po dni 24. 11. 2012 bude v provozu služba podle bodu: 2.5.2 2.5.4 Po dni 24. 11. 2012 bude ukončen provoz služeb v bodech: 2.1.2 2.1.3 2.1.4 2.1.5 Služby podle bodu 2.5.1 2.5.3 budou v provozu ještě 12 měsíců od ode dne 24. 11. 2012, tedy do 23.11.2013. Tabulka 1 Seznam použitých zkratek a pojmů Zkratka / Pojem LLU ADSL VDSL XDSL IDL ISDN DSLAM PSTN O2 HTS OLO Význam Local Loop Unbundling Asymmetric Digital Subscriber Line Very High Speed Digital Subscriber Line Pojem zahrnující ADSL a VDSL Identifikátor linky analogie telefonního čísla pro linku bez HTS Integrated Services Digital Network Digital Subscriber Line Access Multiplexer Public Switched Telephone Network O2 Czech Republic a.s. Hlasová telefonní služba zahrnuje v sobě PSTN i ISDN2 Other Licensed Operator LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 3/48
2 Webové služby LLU 2.1 Popis webových služeb Pro zjištění informací o LLU jsou na portále O2 pro potřeby alternativních operátorů implementovány webové služby checkolodslam, MDFQuery, OLOADSLCheck, OLOADSLCheckExt a HostQuery. 2.1.1 Schéma architektury řešení WS LLU Na obrázku následujícím obrázku je zobrazeno schéma komunikace mezi OLO operátorem a portálem O2. Dále jsou na obrázku zobrazeny nové služby UbbCheckeru (UbbCheckForOLO, UbbScanForO- LO) dostupné na B2B bráně O2 Czech Republic a.s.. OLO Demilitarizovaná zóna Portal O2 checkolodsalm MDFQuery Aplikace O2 OLO application OLOADSLCheck OLOADSLCheckExt HostQuery B2B O2 UbbChecker Komunikace mezi aplikací OLO a webovými službami je zabezpečena pomocí SSL na úrovni HTTP protokolu. Ke dni 21.4.2011 byla doplněna nová služba UbbChecker, podporující technologii VDSL. Služba je vystavena na B2B bráně TOCZ. Komunikace mezi aplikací OLO a B2B bránou je ověřována pomocí obousměrného certifikátu SSL a kontrolou na IP adresu/y. 2.1.2 Služba pro kontrolu ověření DSLAM checkolodslam Služba umožňuje zpracování dotazů potencionálních zákazníků alternativních operátorů (OLO), zda jsou v dosahu DSLAMu daného OLOa na základě telefonního čísla zákazníka a OLO Id příslušného operátora. Služba je realizována pomocí webové služby checkolodslam, která je umístěná na portále O2. LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 4/48
2.1.2.1 Vstupní parametry Webová služba checkolodslam požaduje vstupní parametry uvedené v následující tabulce: Parametr Typ Význam oloid string Identifikátor alternativního operátora přidělený ČTc. phonenum string Telefonní číslo, které bude ověřováno. 2.1.2.2 Návratová hodnota Návratová hodnota webové služby je textový řetězec, ve kterém je uložen XML dokument následujícího formátu: <checkolodslam xmlns="http://www.telecom.cz/eportal/llu"> <CodeDSLAM>PSAVL</CodeDSLAM> <DateDSLAM>10.01.2001</DateDSLAM> </checkolodslam> Elementy XML dokumentu <checkolodslam> mají následující význam: Parametr Typ Význam CodeDSLAM string Kód stavu kontroly. DateDSLAM string Plánované datum dostupnosti DSLAM ve formátu DD.MM.YYYY. Parametr je vrácen jen pro některé hodnoty CodeDSLAM Možné hodnoty návratových kódů elementu CodeDSLAM: CodeDSLAM DateDSLAM Význam NACTV - PSTN/ISDN číslo není aktivním číslem účastníka O2 NODSL - PSTN/ISDN číslo nemá volný DSLAM PSAVL - PSTN číslo má volný DSLAM ISAVL - ISDN číslo má volný DSLAM ERROR - Došlo k chybě při zpracování požadavku QUOTA - Překročení povolené kvóty požadavků za časovou jednotku NOLSN - Zadané číslo není hlavním číslem ISDN PSAVP DD.MM.YYYY PSTN číslo zatím nemá dostupný DSLAM, bude dostupný ode dne DD.MM.YYYY ISAVP DD.MM.YYYY ISDN číslo zatím nemá dostupný DSLAM, bude dostupný ode dne DD.MM.YYYY XML Schema návratové hodnoty webové služby je následující: <?xml version="1.0" encoding="utf-8"?> <xsd:schema targetnamespace="http://www.telecom.cz/eportal/llu" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns="http://www.telecom.cz/eportal/llu" elementformdefault="qualified"> <xsd:element name="checkolodslam"> <xsd:complextype> <xsd:sequence> <xsd:element name="codedslam" type="xsd:string"/> <xsd:element name="datedslam" type="xsd:string" minoccurs="0"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:schema> 2.1.3 Služba dotazu na MDF ID MDFQuery Služba je určena pro zpracování dotazů alternativních operátorů (OLO) na MDF ID do systémů O2 rámci LLU. Služba je realizována pomocí webové služby MDFQuery, která je umístěná na portálu O2. Webová služba je přístupná pouze v omezenou dobu, a to v době 9-17 hodin. LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 5/48
2.1.3.1 Vstupní parametry Webová služba MDFQuery požaduje vstupní parametry uvedené v následující tabulce: Parametr Typ Význam oloid string Identifikátor alternativního operátora přidělený ČTc phonenum string Telefonní číslo, které bude ověřováno. refnum string Referenční číslo zákazníka. 2.1.3.2 Návratová hodnota Návratová hodnota webové služby je textový řetězec, ve kterém je uložen XML dokument následujícího formátu: <MDFQuery xmlns="http://www.telecom.cz/eportal/llu"> <CurrentTime>27.05.2004 12:16:57</CurrentTime> <Status>OK</Status> <MdfId>NTLC:OBJ:190-HR-Netolice</MdfId> </MDFQuery> nebo v případě chyby: <MDFQuery xmlns="http://www.telecom.cz/eportal/llu"> <CurrentTime>27.05.2004 23:24:46</CurrentTime> <Status>ERROR</Status> <MdfId/> <ErrorDescription>Vstupní chyba neplatný požadavek (selhala validace)</errordescription> </MDFQuery> Pokud je zaslán požadavek na službu mimo stanovené časové rozmezí (9-17 hodin) služba vrátí odpověď: <MDFQuery xmlns="http://www.telecom.cz/eportal/llu"> <CurrentTime>27.05.2004 18:39:42</CurrentTime> <Status>ERROR</Status> <MdfId/> <ErrorDescription>Access denied. Service MDFQuery is accessible only from 09:00:00 to 17:00:00.</ErrorDescription> </MDFQuery> Elementy XML dokumentu <MDFQuery> mají následující význam: Parametr Typ Význam CurrentTime string Aktuální čas sestavení odpovědi na portále ČTc ve formátu DD.MM.RRRR hh:mm:ss. Status string Kód výsledku zpracování: OK dotaz proběhl v pořádku ERROR došlo k chybě při zpracování požadavku. Text chyby je uložen v parametru ErrorDescription MdfId string Identifikátor MDF. Pokud je hodnota Status=ERROR, je parametr prázdný. ErrorDescription string Text chyby. Parametr je v dokumentu obsažen pouze v případě, že je hodnota parametru Status=ERROR Seznam možných výsledků dotazu: Status ErrorDescription Význam OK Dotaz proběhl úspěšně MDF Id bylo nalezeno ERROR Vstupní chyba - neplatný požadavek (selhala validace) Došlo k syntaktické chybě při dotazu do vnitřních systémů O2 (nekonzistence systémů pro zpracování webových služeb LLU) ERROR Vstupní chyba - neplatný formát telefonního čísla Telefonní číslo nebylo zadáno v předepsaném tvaru (9 číslic) ERROR Vstupní chyba - neplatné OLO Id OLO Id nebylo nalezeno ERROR Vstupní chyba - stanice nenalezena Stanice nebyla nalezena ERROR Vstupní chyba - nesouhlasí referenční číslo V dotazu bylo použito chybné referenční číslo zákazníka. LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 6/48
Status ErrorDescription Význam ERROR Vstupní chyba - telefonní číslo není hlavním číslem ISDN linky Telefonní číslo není hlavním číslem ISDN linky ERROR MDF Id nebylo nalezeno Informace ke stanici nebyly nalezeny. ERROR Interní komunikační chyba Došlo ke komunikační chybě při dotazu do vnitřních systémů O2 ERROR Přístup odmítnut. Služba MDFQuery je dostupná pouze v době od 09:00:00 do 17:00:00. Služba byla volána mimo povolený čas. XML Schema návratové hodnoty webové služby je následující: <?xml version="1.0" encoding="utf-8"?> <!--W3C Schema generated by XML Spy v4.3 U (http://www.xmlspy.com)--> <xsd:schema targetnamespace="http://www.telecom.cz/eportal/llu" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns="http://www.telecom.cz/eportal/llu" elementformdefault="qualified"> <xsd:element name="mdfquery"> <xsd:complextype> <xsd:sequence> <xsd:element name="currenttime" type="xsd:string"/> <xsd:element name="status" type="xsd:string"/> <xsd:element name="mdfid" type="xsd:string"/> <xsd:element name="errordescription" type="xsd:string" minoccurs="0"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:schema> 2.1.4 Služba pro kontrolu ověření DSLAM OLOADSLCheck Služba umožňuje zpracování dotazů potencionálních zákazníků alternativních operátorů (OLO), zda jsou v dosahu DSLAMu daného OLOa na základě telefonního čísla zákazníka a OLO Id příslušného operátora. Služba je realizována pomocí webové služby OLOADSLCheck, která je umístěná na portále O2. Jde o nově strukturovanou službu, která při dotazu na telefonní číslo vrací kromě informace o vlastnictví čísla O2 a disponibilitě DSLAM ještě informaci o kvalitě přístupové linky. Tato informace je předávána formou maximální rychlosti služby Carrier Broadband provozovatelné na dané lince. Služba checkolodslam bude i po zavedení této webové služby fungovat beze změny. 2.1.4.1 Vstupní parametry Webová služba OLOADSLCheck požaduje vstupní parametry uvedené v následující tabulce: Parametr Typ Význam oloid string Identifikátor alternativního operátora přidělený ČTc. phonenum string Telefonní číslo, které bude ověřováno. 2.1.4.2 Návratová hodnota Návratová hodnota webové služby je textový řetězec, ve kterém je uložen XML dokument následující struktury: <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" elementformdefault="qualified"> <xs:element name="oloadslcheck"> <xs:complextype> <xs:sequence> <xs:element name="adslresult" type="xs:string"/> <xs:element name="dslamavailibility" type="xs:string" minoccurs="0"/> <xs:element name="dslamdate" type="xs:string" minoccurs="0"/> <xs:element name="maxspeed" type="xs:string" minoccurs="0"/> <xs:element name="compatibilityproblem" type="xs:string" minoccurs="0"/> <xs:element name="owner" type="xs:string" minoccurs="0"/> <xs:element name="lsn" type="xs:string" minoccurs="0"/> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 7/48
<xs:element name="linetype" type="xs:string" minoccurs="0"/> <xs:element name="ropid" type="xs:nonnegativeinteger" minoccurs="0"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Příklad XML dokumentu: <?xml version="1.0" encoding="utf-8"?> <OLOADSLCheck> <ADSLresult>YES</ADSLresult> <DSLAMavailibility>1</DSLAMavailibility> <DSLAMdate>31.01.2005</DSLAMdate> <MaxSpeed>1024/256</MaxSpeed> <CompatibilityProblem>NO</CompatibilityProblem> <Owner>CTC</Owner> <Linetype>PSTN</Linetype> <RopId>1122</RopId> </OLOADSLCheck> Elementy XML dokumentu <OLOADSLCheck> mají následující význam: Element Hodnoty Popis Vliv na objednateln ost služby Parametr, který obsahuje souhrnnou odpověď zda lze na dané číslo objednat službu ADSL. ADSLresult Vyplývá z logického součinu parametrů Vliv na objednatelnost služby (viz poslední sloupec), kde výsledek 1 implikuje YES a 0 implikuje NO. Jde o jediný povinný parametr YES Službu ADSL lze pro dané telefonní číslo objednat NO Službu ADSL nelze pro dané telefonní číslo objednat ERROR Došlo k chybě při zpracování požadavku TIMEOUT Interní systémy neodpověděly v limitu QUOTA Překročena povolená kvóta požadavků za časovou jednotku DSLAMavailability Dostupnost DSLAM pro dané telefonní číslo. (Je vracen v případě, že není platné nějaké jiné KO kritérium pro objednání služby) 1 Pro dané číslo je DSLAM disponibilní. 1 2 Pro dané číslo existuje DSLAM s vyčerpanou kapacitou, 1 dostavba plánována do dne viz DSLAMDate 3 Pro dané číslo nyní není dostupný DSLAM, ale bude 1 dostupný ode dne viz DSLAMDate 4 DSLAM není disponibilní. 0 - Bez hodnoty 1 DSLAMdate Obsahuje datum v případech, kdy DSLAMavailability = 2 nebo 3 MaxSpeed Datum Formát datumu je DD.MM.YYYY - - Bez hodnoty 1 Řetězec označující maximální rychlost služby ADSL provozovatelné na lince daného telefonního čísla. (Je vrácen v případech, že je pro dané telefonní číslo uložen údaj o měření telefonní linky) "16384/768" 1 "14336/768" 1 "12288/512" 1 "10240/512" 1 "9216/512" 1 "8192/512" 1 "7168/512" 1 "6528/512" 1 "6144/384" 1 "5120/384" 1 "4096/256" 1 "3584/256" 1 "3072/256" 1 "2560/256" 1 "2048/128" 1 "1536/128" 1 "1024/128" 1 LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 8/48
CompatibilityProble m Owner LSN LineType RopId "768/128" 1 "512/128" 1 "384/128" 1 "256/128" 1 0/0 Na lince daného telefonního čísla bohužel nelze provozovat 0 službu ADSL UNKNOWN Maximální rychlost se nepodařilo zjistit 1 - Bez hodnoty 1 Slučitelnost s jinými službami na tomto čísle (Je vracen ve všech případech kromě ERROR a QUOTA a situace kdy nejde o číslo ve vlastnictví CTc) YES Pro dané číslo existuje služba neslučitelná se službou ADSL 0 NO Dané číslo je slučitelné se službou ADSL 1 - Bez hodnoty 1 Vlastník telefonního čísla (je vracen ve všech případech kromě ERROR a QUOTA) CTC Vlastníkem čísla je CTc 1 OTHER Vlastníkem čísla není CTc 0 - Bez hodnoty 1 Obsahuje číslo LSN (tzv. hlavní číslo) v případě, že dotaz byl omylem uplatněn na MSN (tzv. vedlejší číslo) linky ISDN2A (Je vraceno jen v případě, že je dotaz omylem proveden na číslo MSN) Číslo LSN Je-li číslo LSN uvedeno, je nutné objednávku uplatnit na toto 0 číslo. Na číslo MSL nebude objednávka přijata. - Bez hodnoty 1 Informativní údaj o typu telefonní linky. (Je vracen vždy, když Owner = CTC) PSTN 1 ISDN 1-1 ROP ID kolokační místnosti. Hodnota Hodnota ROP ID - Pozn.: Údaje Bez hodnoty znamenají, že údaj není vracen (v daném případě nemá smysl). Zde jsou uvedeny proto, že jim je přiřazena hodnota pro logický součin (viz. vysvětlení výpočtu elementu ADSLresult) 2.1.5 Nová služba pro kontrolu ověření DSLAM OLOADSLCheckExt Služba umožňuje rovněž zpracování dotazů potencionálních zákazníků alternativních operátorů (OLO), jako předchozí služba, její výstup je ale rozšířen o parametr distance. 2.1.5.1 Vstupní parametry Webová služba OLOADSLCheckExt požaduje vstupní parametry uvedené v následující tabulce: Parametr Typ Význam oloid string Identifikátor alternativního operátora přidělený ČTc. phonenum string Telefonní číslo, které bude ověřováno. 2.1.5.2 Návratová hodnota Návratová hodnota webové služby je textový řetězec, ve kterém je uložen XML dokument následující struktury: <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" elementformdefault="qualified"> <xs:element name="oloadslcheckext"> <xs:complextype> <xs:sequence> <xs:element name="adslresult" type="xs:string"/> <xs:element name="dslamavailibility" type="xs:string" minoccurs="0"/> <xs:element name="dslamdate" type="xs:string" minoccurs="0"/> <xs:element name="maxspeed" type="xs:string" minoccurs="0"/> <xs:element name="compatibilityproblem" type="xs:string" minoccurs="0"/> <xs:element name="owner" type="xs:string" minoccurs="0"/> <xs:element name="lsn" type="xs:string" minoccurs="0"/> <xs:element name="linetype" type="xs:string" minoccurs="0"/> <xs:element name="ropid" type="xs:nonnegativeinteger" minoccurs="0"/> <xs:element name="distance" type="xs:string" minoccurs="0"/> </xs:sequence> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 9/48
</xs:complextype> </xs:element> </xs:schema> Příklad XML dokumentu: <?xml version="1.0" encoding="utf-8"?> < OLOADSLCheckExt > <ADSLresult>YES</ADSLresult> <DSLAMavailibility>1</DSLAMavailibility> <DSLAMdate>31.01.2005</DSLAMdate> <MaxSpeed>1024/256</MaxSpeed> <CompatibilityProblem>NO</CompatibilityProblem> <Owner>CTC</Owner> <Linetype>PSTN</Linetype> <RopId>1122</RopId> <Distance>3</Distance> </ OLOADSLCheckExt > Elementy XML dokumentu <OLOADSLCheckExt> mají následující význam: Element Hodnoty Popis Vliv na objednateln ost služby Parametr, který obsahuje souhrnnou odpověď zda lze na dané číslo objednat službu ADSL. ADSLresult Vyplývá z logického součinu parametrů Vliv na objednatelnost služby (viz poslední sloupec), kde výsledek 1 implikuje YES a 0 implikuje NO. Jde o jediný povinný parametr YES Službu ADSL lze pro dané telefonní číslo objednat NO Službu ADSL nelze pro dané telefonní číslo objednat ERROR Došlo k chybě při zpracování požadavku TIMEOUT Interní systémy neodpověděly v limitu QUOTA Překročena povolená kvóta požadavků za časovou jednotku DSLAMavailability Dostupnost DSLAM pro dané telefonní číslo. (Je vracen v případě, že není platné nějaké jiné KO kritérium pro objednání služby) 1 Pro dané číslo je DSLAM disponibilní. 1 2 Pro dané číslo existuje DSLAM s vyčerpanou kapacitou, 1 dostavba plánována do dne viz DSLAMDate 3 Pro dané číslo nyní není dostupný DSLAM, ale bude 1 dostupný ode dne viz DSLAMDate 4 DSLAM není disponibilní. 0 - Bez hodnoty 1 DSLAMdate Obsahuje datum v případech, kdy DSLAMavailability = 2 nebo 3 MaxSpeed Datum Formát datumu je DD.MM.YYYY - - Bez hodnoty 1 Řetězec označující maximální rychlost služby ADSL provozovatelné na lince daného telefonního čísla. (Je vrácen v případech, že je pro dané telefonní číslo uložen údaj o měření telefonní linky) "16384/768" 1 "14336/768" 1 "12288/512" 1 "10240/512" 1 "9216/512" 1 "8192/512" 1 "7168/512" 1 "6528/512" 1 "6144/384" 1 "5120/384" 1 "4096/256" 1 "3584/256" 1 "3072/256" 1 "2560/256" 1 "2048/128" 1 "1536/128" 1 "1024/128" 1 "768/128" 1 "512/128" 1 LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 10/48
CompatibilityProble m Owner LSN LineType RopId Distance "384/128" 1 "256/128" 1 0/0 Na lince daného telefonního čísla bohužel nelze provozovat 0 službu ADSL UNKNOWN Maximální rychlost se nepodařilo zjistit 1 - Bez hodnoty 1 Slučitelnost s jinými službami na tomto čísle (Je vracen ve všech případech kromě ERROR a QUOTA a situace kdy nejde o číslo ve vlastnictví CTc) YES Pro dané číslo existuje služba neslučitelná se službou ADSL 0 NO Dané číslo je slučitelné se službou ADSL 1 - Bez hodnoty 1 Vlastník telefonního čísla (je vracen ve všech případech kromě ERROR a QUOTA) CTC Vlastníkem čísla je CTc 1 OTHER Vlastníkem čísla není CTc 0 - Bez hodnoty 1 Obsahuje číslo LSN (tzv. hlavní číslo) v případě, že dotaz byl omylem uplatněn na MSN (tzv. vedlejší číslo) linky ISDN2A (Je vraceno jen v případě, že je dotaz omylem proveden na číslo MSN) Číslo LSN Je-li číslo LSN uvedeno, je nutné objednávku uplatnit na toto 0 číslo. Na číslo MSL nebude objednávka přijata. - Bez hodnoty 1 Informativní údaj o typu telefonní linky. (Je vracen vždy, když Owner = CTC) PSTN 1 ISDN 1-1 ROP ID kolokační místnosti. Hodnota Hodnota ROP ID - Informativní údaj o vzdalenosti Hodnota Délka vedení [m] - Pozn.: Údaje Bez hodnoty znamenají, že údaj není vracen (v daném případě nemá smysl). Zde jsou uvedeny proto, že jim je přiřazena hodnota pro logický součin (viz. vysvětlení výpočtu elementu ADSLresult) 2.1.6 Služba dotazu na Host ID HostQuery Služba je určena pro zpracování dotazů alternativních operátorů (OLO) na Host ID do systémů O2 v rámci LLU. Služba je realizována pomocí webové služby HostQuery, která je umístěná na portálu O2. Webová služba je přístupná pouze v omezenou dobu, a to v době 9-17 hodin. 2.1.6.1 Vstupní parametry Webová služba HostQuery požaduje vstupní parametry uvedené v následující tabulce: Parametr Typ Význam oloid string Identifikátor alternativního operátora přidělený ČTc phonenum string Telefonní číslo, které bude ověřováno. refnum string Referenční číslo zákazníka. 2.1.6.2 Návratová hodnota Návratová hodnota webové služby je textový řetězec, ve kterém je uložen XML dokument následujícího formátu: <HostQuery xmlns="http://www.telecom.cz/eportal/llu"> <CurrentTime>20.11.2005 12:16:57</CurrentTime> <Status>OK</Status> <HostId>1A-1234</HostId> </HostQuery> nebo v případě chyby: <HostQuery xmlns="http://www.telecom.cz/eportal/llu"> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 11/48
<CurrentTime>20.11.2005 23:24:46</CurrentTime> <Status>ERROR</Status> <HostId/> <ErrorDescription>Vstupní chyba neplatný požadavek (selhala validace)</errordescription> </HostQuery> Pokud je zaslán požadavek na službu mimo stanovené časové rozmezí (9-17 hodin) služba vrátí odpověď: <HostQuery xmlns="http://www.telecom.cz/eportal/llu"> <CurrentTime>20.11.2005 18:39:42</CurrentTime> <Status>ERROR</Status> <HostId/> <ErrorDescription>Access denied. Service HostQuery is accessible only from 09:00:00 to 17:00:00.</ErrorDescription> </HostQuery> Elementy XML dokumentu <HostQuery> mají následující význam: Parametr Typ Význam CurrentTime string Aktuální čas sestavení odpovědi na portále ČTc ve formátu DD.MM.RRRR hh:mm:ss. Status string Kód výsledku zpracování: OK dotaz proběhl v pořádku ERROR došlo k chybě při zpracování požadavku. Text chyby je uložen v parametru ErrorDescription HostId string Identifikátor Host. Pokud je hodnota Status=ERROR, je parametr prázdný. ErrorDescription string Text chyby. Parametr je v dokumentu obsažen pouze v případě, že je hodnota parametru Status=ERROR Seznam možných výsledků dotazu: Status ErrorDescription Význam OK Dotaz proběhl úspěšně MDF Id bylo nalezeno ERROR Vstupní chyba - neplatný požadavek (selhala validace) Došlo k syntaktické chybě při dotazu do vnitřních systémů O2 (nekonzistence systémů pro zpracování webových služeb LLU) ERROR Vstupní chyba - neplatný formát telefonního čísla Telefonní číslo nebylo zadáno v předepsaném tvaru (9 číslic) ERROR Vstupní chyba - neplatné OLO Id OLO Id nebylo nalezeno ERROR Vstupní chyba - stanice nenalezena Stanice nebyla nalezena ERROR Vstupní chyba - nesouhlasí referenční číslo V dotazu bylo použito chybné referenční číslo zákazníka. ERROR Vstupní chyba - telefonní číslo není hlavním číslem ISDN linky Telefonní číslo není hlavním číslem ISDN linky ERROR Host Id nebylo nalezeno Informace ke stanici nebyly nalezeny. ERROR Interní komunikační chyba Došlo ke komunikační chybě při dotazu do vnitřních systémů O2 ERROR Přístup odmítnut. Služba HostQuery je dostupná pouze v době od 09:00:00 do 17:00:00. Služba byla volána mimo povolený čas. XML Schema návratové hodnoty webové služby je následující: <?xml version="1.0" encoding="utf-8"?> <!--W3C Schema generated by XML Spy v4.3 U (http://www.xmlspy.com)--> <xsd:schema targetnamespace="http://www.telecom.cz/eportal/llu" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns="http://www.telecom.cz/eportal/llu" elementformdefault="qualified"> <xsd:element name="hostquery"> <xsd:complextype> <xsd:sequence> <xsd:element name="currenttime" type="xsd:string"/> <xsd:element name="status" type="xsd:string"/> <xsd:element name="hostid" type="xsd:string"/> <xsd:element name="errordescription" type="xsd:string" minoccurs="0"/> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 12/48
</xsd:sequence> </xsd:complextype> </xsd:element> </xsd:schema> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 13/48
2.2 Definice webových služeb Pro komunikaci s webovými službami je nutné použít https protokol, a to HTTP protokol verze 1.0, SSL verze 3. Definici portálových webových služeb checkolodslam, MDFQuery, OLOADSLCheck, OLO- ADSLCheckExt a HostQuery je popsána následujícím WSDL souborem: <?xml version="1.0" encoding="utf-8"?> <!-- @editor-info:link autogen="true" source="ws_rpc.jws" --> <wsdl:definitions xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/" xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/xmlschema" xmlns:s0="http://www.openuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetnamespace="http://www.openuri.org/"> <wsdl:types> <s:schema elementformdefault="qualified" targetnamespace="http://www.openuri.org/" xmlns:s="http://www.w3.org/2001/xmlschema"> <s:element name="mdfquery"> <s:complextype> <s:sequence> <s:element name="oloid" type="s:string" minoccurs="0"/> <s:element name="phonenum" type="s:string" minoccurs="0"/> <s:element name="refnum" type="s:string" minoccurs="0"/> </s:sequence> </s:complextype> </s:element> <s:element name="mdfqueryresponse"> <s:complextype> <s:sequence> <s:element name="mdfqueryresult" type="s:string" minoccurs="0"/> </s:sequence> </s:complextype> </s:element> <s:element name="string" nillable="true" type="s:string"/> <s:element name="checkolodslam"> <s:complextype> <s:sequence> <s:element name="oloid" type="s:string" minoccurs="0"/> <s:element name="phonenum" type="s:string" minoccurs="0"/> </s:sequence> </s:complextype> </s:element> <s:element name="checkolodslamresponse"> <s:complextype> <s:sequence> <s:element name="checkolodslamresult" type="s:string" minoccurs="0"/> </s:sequence> </s:complextype> </s:element> <s:element name="oloadslcheck"> <s:complextype> <s:sequence> <s:element name="oloid" type="s:string" minoccurs="0"/> <s:element name="phonenum" type="s:string" minoccurs="0"/> </s:sequence> </s:complextype> </s:element> <s:element name="oloadslcheckresponse"> <s:complextype> <s:sequence> <s:element name="oloadslcheckresult" type="s:string" minoccurs="0"/> </s:sequence> </s:complextype> </s:element> <s:element name="hostquery"> <s:complextype> <s:sequence> <s:element name="oloid" type="s:string" minoccurs="0"/> <s:element name="phonenum" type="s:string" minoccurs="0"/> <s:element name="refnum" type="s:string" minoccurs="0"/> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 14/48
</s:sequence> </s:complextype> </s:element> <s:element name="hostqueryresponse"> <s:complextype> <s:sequence> <s:element name="hostqueryresult" type="s:string" minoccurs="0"/> </s:sequence> </s:complextype> </s:element> <s:element name="oloadslcheckext"> <s:complextype> <s:sequence> <s:element name="oloid" type="s:string" minoccurs="0"/> <s:element name="phonenum" type="s:string" minoccurs="0"/> </s:sequence> </s:complextype> </s:element> <s:element name="oloadslcheckextresponse"> <s:complextype> <s:sequence> <s:element name="oloadslcheckextresult" type="s:string" minoccurs="0"/> </s:sequence> </s:complextype> </s:element> </s:schema> </wsdl:types> <wsdl:message name="mdfquerysoapin"> <wsdl:part name="parameters" element="s0:mdfquery"/> <wsdl:message name="mdfquerysoapout"> <wsdl:part name="parameters" element="s0:mdfqueryresponse"/> <wsdl:message name="checkolodslamsoapin"> <wsdl:part name="parameters" element="s0:checkolodslam"/> <wsdl:message name="checkolodslamsoapout"> <wsdl:part name="parameters" element="s0:checkolodslamresponse"/> <wsdl:message name="oloadslchecksoapin"> <wsdl:part name="parameters" element="s0:oloadslcheck"/> <wsdl:message name="oloadslchecksoapout"> <wsdl:part name="parameters" element="s0:oloadslcheckresponse"/> <wsdl:message name="hostquerysoapin"> <wsdl:part name="parameters" element="s0:hostquery"/> <wsdl:message name="hostquerysoapout"> <wsdl:part name="parameters" element="s0:hostqueryresponse"/> <wsdl:message name="oloadslcheckextsoapin"> <wsdl:part name="parameters" element="s0:oloadslcheckext"/> <wsdl:message name="oloadslcheckextsoapout"> <wsdl:part name="parameters" element="s0:oloadslcheckextresponse"/> <wsdl:message name="mdfqueryhttpgetin"> <wsdl:part name="oloid" type="s:string"/> <wsdl:part name="phonenum" type="s:string"/> <wsdl:part name="refnum" type="s:string"/> <wsdl:message name="mdfqueryhttpgetout"> <wsdl:part name="body" element="s0:string"/> <wsdl:message name="checkolodslamhttpgetin"> <wsdl:part name="oloid" type="s:string"/> <wsdl:part name="phonenum" type="s:string"/> <wsdl:message name="checkolodslamhttpgetout"> <wsdl:part name="body" element="s0:string"/> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 15/48
<wsdl:message name="oloadslcheckhttpgetin"> <wsdl:part name="oloid" type="s:string"/> <wsdl:part name="phonenum" type="s:string"/> <wsdl:message name="oloadslcheckhttpgetout"> <wsdl:part name="body" element="s0:string"/> <wsdl:message name="hostqueryhttpgetin"> <wsdl:part name="oloid" type="s:string"/> <wsdl:part name="phonenum" type="s:string"/> <wsdl:part name="refnum" type="s:string"/> <wsdl:message name="hostqueryhttpgetout"> <wsdl:part name="body" element="s0:string"/> <wsdl:message name="oloadslcheckexthttpgetin"> <wsdl:part name="oloid" type="s:string"/> <wsdl:part name="phonenum" type="s:string"/> <wsdl:message name="oloadslcheckexthttpgetout"> <wsdl:part name="body" element="s0:string"/> <wsdl:message name="mdfqueryhttppostin"> <wsdl:part name="oloid" type="s:string"/> <wsdl:part name="phonenum" type="s:string"/> <wsdl:part name="refnum" type="s:string"/> <wsdl:message name="mdfqueryhttppostout"> <wsdl:part name="body" element="s0:string"/> <wsdl:message name="checkolodslamhttppostin"> <wsdl:part name="oloid" type="s:string"/> <wsdl:part name="phonenum" type="s:string"/> <wsdl:message name="checkolodslamhttppostout"> <wsdl:part name="body" element="s0:string"/> <wsdl:message name="oloadslcheckhttppostin"> <wsdl:part name="oloid" type="s:string"/> <wsdl:part name="phonenum" type="s:string"/> <wsdl:message name="oloadslcheckhttppostout"> <wsdl:part name="body" element="s0:string"/> <wsdl:message name="hostqueryhttppostin"> <wsdl:part name="oloid" type="s:string"/> <wsdl:part name="phonenum" type="s:string"/> <wsdl:part name="refnum" type="s:string"/> <wsdl:message name="hostqueryhttppostout"> <wsdl:part name="body" element="s0:string"/> <wsdl:message name="oloadslcheckexthttppostin"> <wsdl:part name="oloid" type="s:string"/> <wsdl:part name="phonenum" type="s:string"/> <wsdl:message name="oloadslcheckexthttppostout"> <wsdl:part name="body" element="s0:string"/> <wsdl:porttype name="ws_rpcsoap"> <wsdl:operation name="mdfquery"> <wsdl:documentation>mdfquery web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:mdfquerysoapin"/> <wsdl:output message="s0:mdfquerysoapout"/> <wsdl:operation name="checkolodslam"> <wsdl:documentation>checkolodslam web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:checkolodslamsoapin"/> <wsdl:output message="s0:checkolodslamsoapout"/> <wsdl:operation name="oloadslcheck"> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 16/48
<wsdl:documentation>oloadslcheck web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:oloadslchecksoapin"/> <wsdl:output message="s0:oloadslchecksoapout"/> <wsdl:operation name="hostquery"> <wsdl:documentation>hostquery web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:hostquerysoapin"/> <wsdl:output message="s0:hostquerysoapout"/> <wsdl:operation name="oloadslcheckext"> <wsdl:input message="s0:oloadslcheckextsoapin"/> <wsdl:output message="s0:oloadslcheckextsoapout"/> </wsdl:porttype> <wsdl:porttype name="ws_rpchttpget"> <wsdl:operation name="mdfquery"> <wsdl:documentation>mdfquery web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:mdfqueryhttpgetin"/> <wsdl:output message="s0:mdfqueryhttpgetout"/> <wsdl:operation name="checkolodslam"> <wsdl:documentation>checkolodslam web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:checkolodslamhttpgetin"/> <wsdl:output message="s0:checkolodslamhttpgetout"/> <wsdl:operation name="oloadslcheck"> <wsdl:documentation>oloadslcheck web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:oloadslcheckhttpgetin"/> <wsdl:output message="s0:oloadslcheckhttpgetout"/> <wsdl:operation name="hostquery"> <wsdl:documentation>hostquery web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:hostqueryhttpgetin"/> <wsdl:output message="s0:hostqueryhttpgetout"/> <wsdl:operation name="oloadslcheckext"> <wsdl:input message="s0:oloadslcheckexthttpgetin"/> <wsdl:output message="s0:oloadslcheckexthttpgetout"/> </wsdl:porttype> <wsdl:porttype name="ws_rpchttppost"> <wsdl:operation name="mdfquery"> <wsdl:documentation>mdfquery web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:mdfqueryhttppostin"/> <wsdl:output message="s0:mdfqueryhttppostout"/> <wsdl:operation name="checkolodslam"> <wsdl:documentation>checkolodslam web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:checkolodslamhttppostin"/> <wsdl:output message="s0:checkolodslamhttppostout"/> <wsdl:operation name="oloadslcheck"> <wsdl:documentation>oloadslcheck web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:oloadslcheckhttppostin"/> <wsdl:output message="s0:oloadslcheckhttppostout"/> <wsdl:operation name="hostquery"> <wsdl:documentation>hostquery web service receive request, create request for IBWLI service, calls it and process response.</wsdl:documentation> <wsdl:input message="s0:hostqueryhttppostin"/> <wsdl:output message="s0:hostqueryhttppostout"/> <wsdl:operation name="oloadslcheckext"> <wsdl:input message="s0:oloadslcheckexthttppostin"/> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 17/48
<wsdl:output message="s0:oloadslcheckexthttppostout"/> </wsdl:porttype> <wsdl:binding name="ws_rpcsoap" type="s0:ws_rpcsoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <wsdl:operation name="mdfquery"> <soap:operation soapaction="http://www.openuri.org/mdfquery" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:operation name="checkolodslam"> <soap:operation soapaction="http://www.openuri.org/checkolodslam" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:operation name="oloadslcheck"> <soap:operation soapaction="http://www.openuri.org/oloadslcheck" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:operation name="hostquery"> <soap:operation soapaction="http://www.openuri.org/hostquery" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:operation name="oloadslcheckext"> <soap:operation soapaction="http://www.openuri.org/oloadslcheckext" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:binding> <wsdl:binding name="ws_rpchttpget" type="s0:ws_rpchttpget"> <http:binding verb="get"/> <wsdl:operation name="mdfquery"> <http:operation location="/mdfquery"/> <wsdl:input> <http:urlencoded/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> <wsdl:operation name="checkolodslam"> <http:operation location="/checkolodslam"/> <wsdl:input> <http:urlencoded/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> <wsdl:operation name="oloadslcheck"> <http:operation location="/oloadslcheck"/> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 18/48
<wsdl:input> <http:urlencoded/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> <wsdl:operation name="hostquery"> <http:operation location="/hostquery"/> <wsdl:input> <http:urlencoded/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> <wsdl:operation name="oloadslcheckext"> <http:operation location="/oloadslcheckext"/> <wsdl:input> <http:urlencoded/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> </wsdl:binding> <wsdl:binding name="ws_rpchttppost" type="s0:ws_rpchttppost"> <http:binding verb="post"/> <wsdl:operation name="mdfquery"> <http:operation location="/mdfquery"/> <wsdl:input> <mime:content type="application/x-www-form-urlencoded"/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> <wsdl:operation name="checkolodslam"> <http:operation location="/checkolodslam"/> <wsdl:input> <mime:content type="application/x-www-form-urlencoded"/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> <wsdl:operation name="oloadslcheck"> <http:operation location="/oloadslcheck"/> <wsdl:input> <mime:content type="application/x-www-form-urlencoded"/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> <wsdl:operation name="hostquery"> <http:operation location="/hostquery"/> <wsdl:input> <mime:content type="application/x-www-form-urlencoded"/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> <wsdl:operation name="oloadslcheckext"> <http:operation location="/oloadslcheckext"/> <wsdl:input> <mime:content type="application/x-www-form-urlencoded"/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 19/48
</wsdl:binding> <wsdl:service name="ws_rpc"> <wsdl:documentation>implements LLU web services MDFQuery, checkolodslam, OLOADSLCheck and HostQuery.</wsdl:documentation> <wsdl:port name="ws_rpcsoap" binding="s0:ws_rpcsoap"> <soap:address location="http://server:port/lluws/ws_rpc.jws"/> </wsdl:port> <wsdl:port name="ws_rpchttpget" binding="s0:ws_rpchttpget"> <http:address location="http:// SERVER:PORT /lluws/ws_rpc.jws"/> </wsdl:port> <wsdl:port name="ws_rpchttppost" binding="s0:ws_rpchttppost"> <http:address location="http:// SERVER:PORT /lluws/ws_rpc.jws"/> </wsdl:port> </wsdl:service> </wsdl:definitions> kde SERVER je IP adresa nebo síťový název portálu O2 a PORT je číslo portu pro SSL komunikaci. Pro port je použita standardní hodnota, tj. 443. WSDL definici lze získat online na adrese https://server:port/lluws/ws_rpc.jws?wsdl 2.3 Zabezpečení webových služeb Komunikace mezi webovou aplikací OLO a webovými službami portálu O2 je zabezpečena protokolem HTTPS, uživatelským jménem a heslem v hlavičce http protokolu (basic typ autentifikace). Adresu a port portálu O2 obdrží OLO před testováním. 2.3.1 Omezení přístupu Webové služby LLU mohou být omezeny na počet přístupů z IP adresy za časovou jednotku. V případě, že dojde k překročení počtu přístupů k webovým službám za časovou jednotku, budou vráceny následující návratové hodnoty volaných webových služeb, a to: webová služba checkolodslam vrátí dokument <checkolodslam xmlns="http://www.telecom.cz/eportal/llu"> <CodeDSLAM>QUOTA</CodeDSLAM> </checkolodslam> webová služba MDFQuery vrátí dokument <MDFQuery xmlns="http://www.telecom.cz/eportal/llu"> <CurrentTime>27.05.2004 13:24:46</CurrentTime> <Status>QUOTA</Status> <MdfId/> <ErrorDescription/> </MDFQuery> webová služba OLOADSLCheck vrátí dokument <?xml version="1.0" encoding="utf-8"?> <OLOADSLCheck> <ADSLresult>QUOTA</ADSLresult> </ OLOADSLCheck> webová služba OLOADSLCheckExt vrátí dokument <?xml version="1.0" encoding="utf-8"?> <OLOADSLCheckExt> <ADSLresult>QUOTA</ADSLresult> </ OLOADSLCheckExt> webová služba HostQuery vrátí dokument <?xml version="1.0" encoding="utf-8"?> <HostQuery xmlns="http://www.telecom.cz/eportal/llu"> <Status>QUOTA</Status> <HostId/> <ErrorDescription/> </HostQuery> LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 20/48
V případě, že by došlo k překročení kvóty přístupů z IP adresy a z obdrženého HTTP požadavku by nebylo možné identifikovat službu, která je volaná, bude vrácena chyba ve tvaru soap-fault dokumentu: <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>quota</faultcode> <faultstring>quota exceeded! Try later, please.</faultstring> <detail/> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> V případě neočekávané interní chyby bude vrácen soap-fault dokument ve tvaru: <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>server</faultcode> <faultstring>internal error. Try later, please.</faultstring> <detail/> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 2.4 Volání webových služeb Klientská aplikace OLO operátorů může být realizována řadou technologií jako Java, Microsoft SOAP Toolkit, Microsoft.NET a jiné. V následujícím textu jsou uvedeny způsoby, jakými lze webovou službu iniciovat, včetně příkladů HTTP požadavků. Webové služby LLU je možné volat několika způsoby, které vyplývají z definovaných portů WSDL definice, a to: ws_rpcsoap webová služba je vyvolána požadavkem, který je formátován do SOAP dokumentu. SOAP dokument je předáván v těle HTTP požadavku. Tento způsob je neobecnější a nejvíce doporučovaný. ws_rpchttpget webovou službu lze vyvolat požadavkem odeslaným z formuláře webového browseru metodou GET. Parametry webové služby jsou předány jako parametry URL ve tvaru jméno-hodnota, např.: http://server:port/lluws/ws_rpc.jws/checkolodslam?oloid=100&phonenum=222333 444 ws_rpchttppost - webovou službu lze vyvolat požadavkem odeslaným z formuláře webového browseru metodou POST. Parametry webové služby ve tvary jméno-hodnota jsou předány v těle HTTP požadavku. LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 21/48
2.4.1 Příklady HTTP požadavků na službu checkolodslam 2.4.1.1 ws_rpcsoap HTTP požadavek volání webové služby checkolodslam způsobem ws_rpcsoap vypadá například takto: POST /lluws/ws_rpc.jws HTTP/1.1 Host: localhost:7001 Content-Type: text/xml; charset="utf-8" Connection: close SOAPAction: "" Accept-Charset: ISO-8859-2 Content-Length: 593 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <env:envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="h ttp://www.w3.org/2001/xmlschema-instance" xmlns:soapenc="http://schemas.xmlsoap. org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <env:header/> <env:body env:encodingstyle="http://schemas.xmlsoap.org/soap/encoding/"> <m:checkolodslam xmlns:m="http://www.openuri.org/"> <m:oloid xsi:type="xsd:string">100</m:oloid> <m:phonenum xsi:type="xsd:string">222333444</m:phonenum> </m:checkolodslam> </env:body> </env:envelope> HTTP odpověď: HTTP/1.1 200 OK Date: Thu, 03 Jun 2004 08:25:45 GMT Pragma: no-cache Server: WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Serv er 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 Content-Length: 582 Content-Type: text/xml; charset=utf-8 Expires: Thu, 01 Jan 1970 00:00:00 GMT Cache-Control: no-cache Connection: Close <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xm lns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org /2001/XMLSchema"> <SOAP-ENV:Body> <ns:checkolodslamresponse xmlns:ns='http://www.openuri.org/'><ns:checkolodslamre sult><checkolodslam xmlns="http://www.telecom.cz/eportal/llu"><codedsla M>PSAVL</CodeDSLAM><DateDSLAM>10.01.2001</DateDSLAM></ch eckolodslam></ns:checkolodslamresult></ns:checkolodslamresponse> </SOAP-ENV: Body> </SOAP-ENV:Envelope> 2.4.1.2 ws_rpchttpget HTTP požadavek volání webové služby checkolodslam způsobem ws_rpchttpget vypadá například takto: GET /lluws/ws_rpc.jws/checkolodslam?oloid=100&phonenum=222333444 HTTP/1.1 Host: localhost:7001 Content-Type: text/xml; charset="utf-8" Connection: close SOAPAction: "" Accept-Charset: ISO-8859-2 Content-Length: 0 HTTP odpověď: HTTP/1.1 200 OK LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 22/48
Date: Thu, 03 Jun 2004 08:28:28 GMT Pragma: no-cache Server: WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Serv er 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 Content-Length: 367 Content-Type: text/xml; charset=utf-8 Expires: Thu, 01 Jan 1970 00:00:00 GMT Cache-Control: no-cache Connection: Close <?xml version="1.0" encoding="utf-8"?> <ns:string xmlns:xsd='http://www.w3.org/2001/xmlschema' xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xmlns:ns='http://www.openuri.org/'><checkolodsl AM xmlns="http://www.telecom.cz/eportal/llu"><codedslam>psavl</coded SLAM><DateDSLAM>10.01.2001</DateDSLAM></checkOLODSLAM></ns: string> 2.4.1.3 ws_rpchttppost HTTP požadavek volání webové služby checkolodslam způsobem ws_rpchttppost vypadá například takto: POST /lluws/ws_rpc.jws/checkolodslam HTTP/1.1 Accept-Language: cs Content-Type: application/x-www-form-urlencoded Host: localhost:7001 Connection: Close Cache-Control: no-cache Content-Length: 30 oloid=100&phonenum=222333444 HTTP odpověď: HTTP/1.1 200 OK Date: Thu, 03 Jun 2004 08:30:17 GMT Pragma: no-cache Server: WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Serv er 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 Content-Length: 367 Content-Type: text/xml; charset=utf-8 Expires: Thu, 01 Jan 1970 00:00:00 GMT Cache-Control: no-cache Connection: Close <?xml version="1.0" encoding="utf-8"?> <ns:string xmlns:xsd='http://www.w3.org/2001/xmlschema' xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xmlns:ns='http://www.openuri.org/'><checkolodsl AM xmlns="http://www.telecom.cz/eportal/llu"><codedslam>psavl</coded SLAM><DateDSLAM>10.01.2001</DateDSLAM></checkOLODSLAM></ns: string> 2.4.2 Příklady HTTP požadavků na službu MDFQuery 2.4.2.1 ws_rpcsoap HTTP požadavek volání webové služby MDFQuery způsobem ws_rpcsoap vypadá například takto: POST /lluws/ws_rpc.jws HTTP/1.1 Host: localhost:7001 Content-Type: text/xml; charset="utf-8" Connection: close SOAPAction: "" Accept-Charset: ISO-8859-2 Content-Length: 640 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <env:envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="h ttp://www.w3.org/2001/xmlschema-instance" xmlns:soapenc="http://schemas.xmlsoap. LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 23/48
org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <env:header/> <env:body env:encodingstyle="http://schemas.xmlsoap.org/soap/encoding/"> <m:mdfquery xmlns:m="http://www.openuri.org/"> <m:oloid xsi:type="xsd:string">100</m:oloid> <m:phonenum xsi:type="xsd:string">222333444</m:phonenum> <m:refnum xsi:type="xsd:string">123456789</m:refnum> </m:mdfquery> </env:body> </env:envelope> HTTP odpověď: HTTP/1.1 200 OK Date: Thu, 03 Jun 2004 08:20:47 GMT Pragma: no-cache Server: WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Serv er 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 Content-Length: 607 Content-Type: text/xml; charset=utf-8 Expires: Thu, 01 Jan 1970 00:00:00 GMT Cache-Control: no-cache Connection: Close <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xm lns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org /2001/XMLSchema"> <SOAP-ENV:Body> <ns:mdfqueryresponse xmlns:ns='http://www.openuri.org/'><ns:mdfqueryresult><m DFQuery xmlns="http://www.telecom.cz/eportal/llu"><currenttime>03.06.20 04 10:20:50</CurrentTime><Status>OK</Status><MdfId>NTLC: OBJ:190-HR-Netolice</MdfId></MDFQuery></ns:MDFQueryResult></ns:MDFQu eryresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 2.4.2.2 ws_rpchttpget HTTP požadavek volání webové služby MDFQuery způsobem ws_rpchttpget vypadá například takto: GET /lluws/ws_rpc.jws/mdfquery?oloid=100&phonenum=222333444&refnum=1234567890 HT TP/1.1 Host: localhost:7001 Content-Type: text/xml; charset="utf-8" Connection: close SOAPAction: "" Accept-Charset: ISO-8859-2 Content-Length: 0 HTTP odpověď: HTTP/1.1 200 OK Date: Thu, 03 Jun 2004 08:01:51 GMT Pragma: no-cache Server: WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Serv er 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 Content-Length: 412 Content-Type: text/xml; charset=utf-8 Expires: Thu, 01 Jan 1970 00:00:00 GMT Cache-Control: no-cache Connection: Close <?xml version="1.0" encoding="utf-8"?> <ns:string xmlns:xsd='http://www.w3.org/2001/xmlschema' xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xmlns:ns='http://www.openuri.org/'><mdfquery xm lns="http://www.telecom.cz/eportal/llu"><currenttime>03.06.2004 10:01:5 5</CurrentTime><Status>OK</Status><MdfId>NTLC:OBJ:190-HR LLU v3.1.2 - PartnerAccess_O2 z 17.6.2014 15:19:00 Strana 24/48