Klávesové zkratky na tomto webu - rozšířené Na obsah stránky

Služba Svátky

10.27 - 28. dubna 2005 | Webové služby

Vytvořil jsem jednoduchou webovou službu, která vrací jména z kalendáře. Má dvě metody:

  1. Dnesni – vrací aktuální svátek k dnešnímu dni
  2. PodleData – vrací svátek k datumu předávaného parametrem datum

Jak vidíte jde o velice jednoduchou službu, která se dotazuje do databáze svátků. I přes její jednoduchost jsem narazil na zajímavou věc, o které jsem dosud netušil, a to, že pokud službu zavoláte pomocí protokolu HTTP-GET nebo HTTP-POST, tak dojde k chybě, místo vrácení výsledku. Po hodině hledání jsem přišel na to, že ASP.NET 1.1 a novější maj tyto protokoly pro WS defaultně zablokované. Řešení je ale jednoduché, stačí upravit soubor web.config a vše by mělo fungovat, jak má.

<configuration>
  <system.web>

    <!-- povolení protokolů GET a POST pro WS -->
    <webservices>
      <protocols>
        <add name="HttpGet" />
        <add name="HttpPost" />
      </protocols>
    </webservices>

  </system.web>
</configuration>

Komentáře RSS

  1.  

    dmx

    17.33 - 24. července 2005 | #

    Jako sluzba super (nechce si mi opisovat kalendar), rad bych ji pouzil na svem webu, nicmene mam jiste obavy z (ne)trvale funkcnosti… jelikoz se jedna o komercni projekt, nemuzu si dovolit vypadky :( Rad bych se zeptal autora, jak ma reseny datovy zdroj (db, xml, txt?) a jestli by mi pripadne mohl poskytnout xml output z db ;-)

  2.  

    Aleš Roubíček

    20.57 - 24. července 2005 | #

    Služba bude mít stálou adresu, určitě ji měnit nebudu, pokud se nebude měnit něco na straně hostingu. Jinak služba využívá SQL databázi ze skriptu, který byl zveřejněn na projektu ASPNET.cz, nyní tam už ale není :)

  3.  

    dmx

    08.48 - 25. července 2005 | #

    Nojo, oKo v jednom clanku psal, ze neco takovyho existuje, jenze uz jsem to tam nenasel :( No nevadi, budu volat a snad mi to tu nezrusis :)

  4.  

    martin

    10.40 - 4. prosince 2008 | #

    poradil by mi někdo (poslal zdroják) jak tohle udělat v PHP .. snažím se práci s webservicema naučit, ale .. :(

  5.  

    Aleš Roubíček

    12.48 - 4. prosince 2008 | #

    [4] martin: Já ti poradim, nedělej to v PHP. Psát v něm služby je peklo. PHP bylo určeno na tvorbu jednoduchých skriptů a u toho mělo zůstat.

  6.  

    martin

    13.17 - 4. prosince 2008 | #

    [5] Aleš Roubíček:Nejsi prvni od koho tohle slyším, nicméně dělám dálkově školu a tak celé naše učení spočívá v samostudiu. Jeden z nadcházejících úkolů spočívá ve vytvoření web service (stahování aktuálního počasí), tak jsem chtěl začít něčím jednodušším.

  7.  

    smoky

    16.17 - 2. září 2009 | #

    Zdravim, zkousel jsem v VS 2008 Projects → Add service reference a pri odkazani na tuto sluzbu jsem dostal chybu:

    • Sestava z http://rarou­s.net/ws/svat­ky.asmx je Formát dokumentu nebyl rozpoznán (typ obsahu je text/html; charset=utf-8)..
    • Sestava z Dokument DISCO je Dokument XML obsahuje chybu (6, 3)..
      • Počáteční značka soap na řádku 5 neodpovídá koncové značce discovery. Řádek 6, pozice 3
    • Sestava z Dokument WSDL je Formát dokumentu nebyl rozpoznán (typ obsahu je text/html; charset=utf-8)..
    • Sestava z Schéma XML je Formát dokumentu nebyl rozpoznán (typ obsahu je text/html; charset=utf-8)..

    Metadata obsahují odkaz, který nelze přeložit: http://rarous­.net/ws/svatky­.asmx. Metadata obsahují odkaz, který nelze přeložit: http://rarous­.net/ws/svatky­.asmx.

    Jelikoz sem s webovymi sluzbami jeste nepracoval, cely den hledam jak pouzit sluzbu svatky, protoze by se mi hodila na jeden web. Nejjednodusi zpusob byl prave pres tuto nabidku ve VS, ale to nefunguje. Existuje nejaky jiny podobne jednoduchy zpusob na consuming tohoto service ?

  8.  

    Aleš Roubíček

    16.28 - 2. září 2009 | #

    [7] smoky: Add Web Reference. Služba je ještě staré ASMX a asi má problémy s kompatibilitou s WCF.

  9.  

    smoky

    10.35 - 3. září 2009 | #

    [8] Aleš Roubíček: Skoda, myslel sem, zse to pujde jednoduse :)

  10.  

    Aleš Roubíček

    11.07 - 3. září 2009 | #

    [9] smoky: Ale vždyť to je stejně jednoduché. Akorát místo Add service reference vybereš Add Web Reference. Toť celý rozdíl. To že to místo WCF bude používat klasický SOAP client, je už asi jedno. Jde o věc na pozadí.

    Koukám že v tom menu Projects to asi není, tak zkus dát pravým nad References v Solution Exploreru, tam by to být mohlo.

  11.  

    smoky

    12.06 - 3. září 2009 | #

    Ah tak, bohuzel to nejde ani pres to:
    Dokument na adrese URL http://rarous­.net/ws/svatky­.asmx nebyl rozpoznán jako známý typ dokumentu. Problém vám pravděpodobně pomůže vyřešit chybová zpráva pro jednotlivé známé typy:

  12.  

    Aleš Roubíček

    15.46 - 3. září 2009 | #

    [11] smoky: Tak jednoduše volej HTTP GET http://rarous­.net/….asmx/Dnes­ni např. pomocí třídy WebRequest, to funguje.

  13.  

    smoky

    12.26 - 8. září 2009 | #

    [12] Aleš Roubíček: Bezva. Uz mi to funguje, dekuji za pomoc.

Místo pro tvůj názor

Povinné je jméno a komentář, z e-mailu se rozpoznají Gravatary.
Komentář je formátován pomocí Texy! syntaxu.
Například: **tučný text**, *kurzíva*, "text odkazu":adresa.
Internetové adresy jsou převáděny na odkazy.
Na komentáře se můžete odkazovat pomocí [číslo komentáře].

Nový komentář