Guest User

Untitled

a guest
Nov 20th, 2012
481
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.13 KB | None | 0 0
  1. ZAKLADNI POPIS
  2. ---------------------------------------------------------------------
  3.  
  4. Webova sluzba je zprovoznena na eShopu distrubutora jako aplikacni adresar /i6ws/
  5. http://terminal.sws.cz/i6ws/
  6. (terminal.sws.cz lze nahradit www.sws.cz)
  7.  
  8. Pristup na webovou sluzbu nemusi byt stejny jako eShop.
  9. Casto pro webovou sluzby byva vydavan separatni pristup,
  10. aby pripadne zmeny hesla na eShopu a pod.
  11. nenarusily chod automatizovaneho zpracovani dat ze sluzby a pod.
  12.  
  13. Se sluzbou lze komunikovat pomoci protokolu SOAP.
  14. U metod s jednoduchymi parametry (exporty) take pomoci GET/POST,
  15. takze XML exporty lze stahovat/ziskat obycejnym odkazem.
  16.  
  17. Na sluzbu se lze napojit nejen programove - poskytuje popis sluzby pomoci WSDL,
  18. ale lze ji take pouzivat/zkouset browserem.
  19. Sluzba ma jednoduche rozhrani, kde zobrazuje vypis metod, strucny popis,
  20. u nekterych take zkusebni formulare, kterymi lze metody rovnou z browseru vyvolat.
  21.  
  22. Sluzba umi vracene XML data komprimovat (gzip, deflate),
  23. pokud se pozadavek vysle s hlavickou:
  24. Accept-Encoding: gzip, deflate
  25.  
  26.  
  27. EXPORTY DAT
  28. ---------------------------------------------------------------------
  29. Poskytuje sluzba/stranka:
  30. Default.asmx
  31. http://terminal.sws.cz/i6ws/Default.asmx
  32.  
  33. Exporty dat lze ziskat pomoci obecnych metod:
  34. GetResult - vraci vsechna data (resp. presneji zakladni mnozinu bez blizsi specifikace - u produktu - vse, u stavu skladu - vse skladem, u objednavek - jen otevrene a pod.)
  35. GetResultByCode - vraci data filtrovana dle jednoznacneho kodu - typicky jen jeden radek
  36. GetResultByFromTo - vraci data filtrovana dle datumu od/do - typicky na zaklade evidovane zmeny
  37.  
  38. Seznam exportu, ktere lze ziskat, poskytne stranka s prehledem exportu:
  39. http://terminal.sws.cz/i6ws/ResultTypeInfo.ashx
  40. Vyznam sloupcu tabulky:
  41. ResultType - Nazev exportu (predava se jako argument metod resultType)
  42. Schema - Po kliknuti se zobrazi jednoduche schema => Lze vycist vracene attributy(sloupce)
  43. GetResult - Informace o moznostech / casech pouziti metody GetResult
  44. ByCode - Informace o moznostech / casech pouziti metody GetResultByCode
  45. ByFromTo - Informace o moznostech / casech pouziti metody GetResultByFromTo
  46. => pokud je vse vysedle, tak metoda neni pro dany resultType implementovana (nelze pouzit)
  47. => pokud jsou vysedle nejake dny v |Allowed days of week| nejde metoda dany den zavolat (napr. pro pouziti jen o vikendu)
  48. => pokud jsou vysedle nejake hodiny v |Allowed hours| nejde metoda danou hodinu zavolat (napr. pro pouziti jen mimo hlavni prac. dobu)
  49. Description - Popis exportu
  50.  
  51. Jenoduche stazeni pomoci metody GET
  52. -----------------------------
  53. Zakladni syntax URL:
  54. http://JMENO:[email protected]/i6ws/Default.asmx/NAZEV_METODY?resultType=NAZEV_RESULTU&PARAMETRY
  55. UCASE hodnoty v URL se nahrazuji:
  56. JMENO - Prihlasovani jmeno do webove sluzby
  57. HESLO - Prihlasovani heslo do webove sluzby
  58. NAZEV_METODY - GetResult | GetResultByCode | GetResultByFromTo
  59. PARAMETRY
  60. GetResult - resultType=
  61. GetResultByCode - resultType= &code=
  62. GetResultByFromTo - resultType= &from= &to=
  63. Pozn.:
  64. Aby fungovala syntax: JMENO:HESLO@ s logovacimi udaji primo v linku,
  65. je treba pri rucnim zkouseni za pouziti Internet Exploreru to explicitne povolit:
  66. http://support.microsoft.com/kb/834489
  67. Jinak pouzivat bez uvedeni JMENO:HESLO@ v URL,
  68. prohlizec pri prvnim pozadavku zobrazi prihlasovaci dialog.
  69.  
  70. Priklady URL:
  71. zakladni vlastnosti vsech produktu:
  72. => Default.asmx/GetResult?resultType=StoItemBase
  73. zakladni vlastnosti jednoho produktu 600623:
  74. => Default.asmx/GetResultByCode?resultType=StoItemBase&code=600623
  75. info o stavu skladu jednoho produktu 600623:
  76. => Default.asmx/GetResultByCode?resultType=StoItemQtyFree&code=600623
  77. info o cene jednoho produktu 600623:
  78. => Default.asmx/GetResultByCode?resultType=StoItemPriceOrd&code=600623
  79. vsechny produkty skladem:
  80. => Default.asmx/GetResult?resultType=StoItemQtyFree
  81. zakladni vlastnosti vice produktu, u kterych doslo ke zmene mezi 13.06.2005-06.06.2079:
  82. => Default.asmx/GetResultByFromTo?resultType=StoItemBase&from=2005-06-13&to=2079-06-06
  83.  
  84. Ukazkove stazeni s vyslednym ulozenim XML souboru pomoci VBScriptu:
  85. '--------------------------------------------------------------------
  86. Option Explicit
  87. Main
  88. Private Sub Main
  89. Dim strUrl, strFile
  90. strUrl = "http://JMENO:[email protected]/i6ws/Default.asmx/GetResultByCode?resultType=StoItemBase&code=600623"
  91. strFile = "C:\StoItemBase.xml"
  92. With CreateObject("MSXML2.XMLHTTP")
  93. WScript.Echo "Opening url: " & strUrl
  94. .Open "GET", strUrl, False
  95. .Send
  96. If .Status <> 200 Then Err.Raise vbObjectError + 1, "GetResponseXml", "Bad response status: [" & .Status & "] " & .StatusText & vbCrLf & .ResponseText
  97. WScript.Echo "Saving file: " & strFile
  98. .ResponseXml.Save strFile
  99. WScript.Echo "Done."
  100. End With
  101. End Sub
  102. '--------------------------------------------------------------------
  103. Pokud se obsah bloku ulozi do textoveho souboru s nazvem: i6ws_client.vbs
  104. Lze jej pak spustit v prikazovem radku CMD.EXE jako:
  105. cscript.exe i6ws_client.vbs
  106. Script provede stazeni zakladnich informaci o produktu 600623
  107. a jeho ulozeni do souboru: C:\StoItemBase.xml
  108.  
  109.  
  110. Popis struktury exportu StoItemBase
  111. -----------------------------
  112. StoItemBase je zakladni export poskytujici informace produktech.
  113. Dalsi produktove exporty jsou casto jeho podmnozinou (jen ceny, info o skladech a pod.)
  114. Za pouziti URL z ukazky vyse:
  115. http://JMENO:[email protected]/i6ws/Default.asmx/GetResultByCode?resultType=StoItemBase&code=600623
  116. by byla stazena nasledujici XML struktura:
  117.  
  118. <Result
  119. UrlBase="string | zakladni URL pro tvorbu odkazu na produkt"
  120. UrlBaseThumbnail="string | zakladni URL pro tvorbu odkazu na obrazek - maly"
  121. UrlBaseImg="string | zakladni URL pro tvorbu odkazu na obrazek - bezny"
  122. UrlBaseEnlargement="string | zakladni URL pro tvorbu odkazu na obrazek - velky">
  123. <StoItem
  124. Id="number | jednoznacna identifikace produktu (aut. cislo), zretezenim s attributy Url* lze dostat vysledny link"
  125. Code="string | jednoznacna identifikace produktu jako text (slouzi k vyhledavani a pod.)"
  126. Code2="string | alternativni identifikace produktu"
  127. PartNo="string | kod vyrobce"
  128. PartNo2="string | alternativni kod vyrobce"
  129. Name="string | nazev produktu"
  130. NameAdd="string | dodatkovy nazev produktu"
  131. NameE="string | nazev produktu - mezinarodni verze (napr.: anglicky)"
  132. ManName="string | nazev vyrobce"
  133. PriceDea="number | cena produktu bez pripadnych poplatku(recyklacnich, autorskych) a bez DPH"
  134. PriceRef="number | vysledna hodnota recyklacniho poplatku bez DPH"
  135. RefProName="string | nazev poskytovatele/typu recyklacniho poplatku"
  136. RefCode="string | kod/zatrizeni recyklacniho poplatku"
  137. PriceRef2="number | vysledna hodnota autorskeho poplatku bez DPH"
  138. RefProName2="string | nazev poskytovatele/typu autorskeho poplatku"
  139. RefCode2="string | kod/zatrizeni autorskeho poplatku"
  140. WeightRef="number | vaha vstupujici do vypoctu recyklacniho poplatku"
  141. MeasureRef2="number | pocet jednotek vstupujicich do vypoctu autorskeho poplatku "
  142. TaxRate="number | sazba DPH"
  143. QtyFreeIs="bit | info o produktu skladem ve smyslu ANO/NE"
  144. QtyFree="number | pocet produktu skladem"
  145. QtyPack="number | pocet produktu v baleni"
  146. WarDur="number | doba zaruky prepoctena na dny - pro podnikatele"
  147. WarDurEU="number | doba zaruky prepoctena na dny - pro konc. uzivatele"
  148. SNTrack="bit | informace o tom, jestli se u produktu sleduji seriova cisla"
  149. ThumbnailIs="bit | informace o tom, ma-li produkt obrazek - maly"
  150. ThumbnailSize="number | informace o velikosti obrazku - maly"
  151. ImgIs="bit | informace o tom, ma-li produkt obrazek - bezny"
  152. ImgSize="number | informace o velikosti obrazku - bezny"
  153. EnlargementIs="bit | informace o tom, ma-li produkt obrazek - velky"
  154. EnlargementSize="number | informace o velikosti obrazku - velky"
  155. SisName="string | stav produktu (novinka, vyprodej a pod.)"
  156. NoteShort="string | zkracena poznamka"
  157. Note="string | poznamka"
  158. />
  159. </Result>
  160.  
  161. Pro usporu velikosti XML nejsou nektere attributy obsahujici
  162. prazdne texty - napr.: Code2, PartNo, PartNo2, NameAdd, NameE, ManName, SisName, NoteShort, Note
  163. NULLove/neprirazene hodnoty - napr.: PriceRef, RefProName, RefCode, PriceRef2, RefProName2, RefCode2, WeightRef, MeasureRef2
  164. nulove =0 hodnoty - napr: QtyFreeIs, QtyFree, SNTrack, ThumbnailIs, ThumbnailSize, ImgIs, ImgSize, EnlargementIs, EnlargementSize
  165. vychozi hodnoty - napr.: QtyPack=1
  166. vubec vraceny.
  167.  
  168. Blizsi komentar k nekterym atributum:
  169. QtyFreeIs | QtyFree
  170. => exportuje se jen jeden z udaju (na zaklade konfigurace webove sluzby u distributora)
  171. ThumbnailIs | ThumbnailSize + ImgIs | EnlargementSize + EnlargementIs | EnlargementSize
  172. => Drive exportovane info jen ve smyslu ANO/NE *Is lze nahradit nove pridanymi *Size (*Is = 1 je to stejne jako *Size > 0)
  173. *Is sloupce zustaly jen pro zpetnou kompatibilitu.
  174. Ze *Size lze detekovat zmenu obrazku (da se predpokladat, ze se zmenou obrazku se zmeni take jeho velikost)
  175. WarDur + WarDurEU
  176. => Zaruka je v systemu vedena jako Doba(2,24,...)+Jednoka(Rok,Mesic,...).
  177. Ve sluzbe je pro univerzalnost prepoctena na dny.
  178. Z takto exportovane hodnoty lze udelat zpetny prepocet:
  179. MAXINT=2147483647 - jedna se o dozivotni zaruku
  180. Je-li cislo beze zbytku delitelne 365 - jde udelat prepocet na roky
  181. Je-li cislo beze zbytku delitelne 31 - jde udelat prepocet na mesice.
  182.  
  183.  
  184. Tvorba odkazu z exportovanych udaju:
  185. Pro usporu mista jsou konstantni casti odkazu uvedeny v atributech jen jednou v korenovem elementu Result.
  186. Vysledny odkaz se vytvori zretezenim atributu UrlBase* z korenoveho elementu Result
  187. a atributem Id z radkoveho elementu StoItem, takze:
  188. UrlBase + Id = odkaz na stranku s detailem produktu na eShopu distributora
  189. UrlBaseThumbnail + Id = odkaz na obrazek (maly), ma smysl jen pokud ThumbnailSize > 0
  190. UrlBaseImg + Id = odkaz na obrazek (bezny), ma smysl jen pokud ImgSize > 0
  191. UrlBaseEnlargement + Id = odkaz na obrazek (velky), ma smysl jen pokud EnlargementSize > 0
Advertisement
Add Comment
Please, Sign In to add comment