Sdílet prostřednictvím


Koncové body SOAP a HTTP

Ukázka SoapAndHttpEndpoints ukazuje, jak implementovat službu založenou na RPC a zveřejnit ji ve formátu SOAP a ve formátu POX (Plain Old XML) pomocí webového programovacího modelu WCF. Další podrobnosti o vazbě HTTP pro službu najdete v ukázce základní služby HTTP. Tato ukázka se zaměřuje na podrobnosti, které se týkají vystavení stejné služby přes PROTOKOL SOAP a HTTP pomocí různých vazeb.

Demonstruje

Zveřejnění služby RPC přes PROTOKOL SOAP a HTTP pomocí WCF.

Diskuse

Tato ukázka se skládá ze dvou komponent: projektu webové aplikace (služba), který obsahuje službu WCF a konzolovou aplikaci (klient), která volá operace služby pomocí vazeb SOAP a HTTP.

Služba WCF zveřejňuje 2 operace –GetData a PutData – které ozvěny řetězec, který byl předán jako vstup. Operace služby jsou opatřeny poznámkami WebGetAttribute a WebInvokeAttribute. Tyto atributy řídí projekci HTTP těchto operací. Kromě toho jsou opatřeny poznámkami OperationContractAttribute, které umožňují jejich zveřejnění prostřednictvím vazeb SOAP. Metoda služby PutData vyvolá WebFaultExceptionchybu , která se odešle zpět přes HTTP pomocí stavového kódu HTTP a odešle zpět přes SOAP jako chybu SOAP.

Soubor Web.config nakonfiguruje službu WCF se 3 koncovými body:

  • Koncový bod ~/service.svc/mex, který zveřejňuje metadata služby pro přístup klientů založených na protokolu SOAP.

  • Koncový bod ~/service.svc/http, který klientům umožňuje přístup ke službě pomocí vazby HTTP.

  • Koncový bod ~/service.svc/soap, který klientům umožňuje přístup ke službě pomocí protokolu SOAP přes vazbu HTTP.

Koncový bod HTTP je nakonfigurovaný se standardním <webHttp> koncovým bodem, který je helpEnabled nastavený na .true V důsledku toho služba zveřejňuje stránku nápovědy založenou na XHTML na adrese ~/service.svc/http/help, kterou mohou klienti založené na protokolu HTTP použít pro přístup ke službě.

Projekt klienta ukazuje přístup ke službě pomocí proxy protokolu SOAP (vygenerovaného prostřednictvím odkazu přidat službu) a přístup ke službě pomocí WebClient.

Ukázka se skládá ze služby hostované na webu a konzolové aplikace. Při spuštění konzolové aplikace klient odešle žádosti do služby a zapíše příslušné informace z odpovědí do okna konzoly.

Chcete-li spustit ukázku

  1. Otevřete řešení pro ukázku koncových bodů SOAP a HTTP.

  2. Stisknutím kombinace kláves Ctrl+Shift+B sestavte řešení.

  3. Pokud ještě není otevřený, otevřete stisknutím kombinace kláves CTRL+W, S okno Průzkumník řešení.

  4. V okně Průzkumník řešení klikněte pravým tlačítkem na projekt Služby a umístěte kurzor na možnost Místní nabídka Ladění, aby se zobrazila místní nabídka Spustit novou instanci. Klepněte na tlačítko Spustit novou instanci. Tím se spustí vývojový server ASP.NET, který je hostitelem služby.

  5. V Průzkumník řešení oknech klikněte pravým tlačítkem myši na projekt Klienta a umístěte kurzor na možnost Místní nabídka Ladění, aby se zobrazila místní nabídka Spustit novou instanci. Klepněte na tlačítko Spustit novou instanci.

  6. Zobrazí se okno konzoly klienta a poskytne identifikátor URI spuštěné služby a identifikátor URI stránky nápovědy HTML pro spuštěnou službu. Kdykoli můžete zobrazit stránku nápovědy HTML zadáním identifikátoru URI stránky nápovědy v prohlížeči.

  7. Při spuštění ukázky zapíše klient stav aktuální aktivity.

  8. Stisknutím libovolné klávesy ukončete konzolovou aplikaci klienta.

  9. Stisknutím kombinace kláves SHIFT+F5 zastavíte ladění služby.

  10. V oznamovací oblasti systému Windows klikněte pravým tlačítkem na ikonu ASP.NET vývojového serveru a v místní nabídce vyberte Zastavit .