Sdílet prostřednictvím


Zprostředkovatel WsdlService typu (F#)

Obsahuje typy WSDL (Web Services Description Language) webové služby.

Cesta k oboru názvů nebo modul: Microsoft.FSharp.Data.TypeProviders

Sestavení: FSharp.Data.TypeProviders (v FSharp.Data.TypeProviders.dll)

type WsdlService<ServiceUri : string,
                 ?LocalSchemaFile : string,
                 ?ForceUpdate : bool
                 ?MessageContract : bool,
                 ?EnableDataBinding : bool,
                 ?Serializable : bool,
                 ?Async : bool,
                 ?CollectionType : string>

Statické parametry typu

Parametr typu

Description

ServiceUri: řetězec

Identifikátor URI webové služby.

?LocalSchemaFile: řetězec

.Wsdlschema soubor uložit místně v mezipaměti schématu služby.

?ForceUpdate: bool

Vyžaduje při návrhu a platnost aktualizace schématu místní soubor k dispozici přímé připojení ke službě.Výchozí hodnota je True.Při ForceUpdate hodnotu false, zprostředkovatel reaguje na změny LocalSchemaFile.

?MessageContract: bool

Pokud true, generuje typy kontraktů zpráv.Výchozí hodnota je false.

?EnableDataBinding: bool

Pokud hodnotu true, generované typy kontraktů dat implementovat INotifyPropertyChanged rozhraní povolit datové vazby.

?Serializovat: bool

Pokud true, jsou generované typy serializovatelný.Výchozí je false.Pokud tato hodnota je nastavena hodnotu true, generované typy mají serializovatelný atribut.

?Asynchronní: bool

Pokud true, generuje podpisy obou synchronní a asynchronní metody.Výchozí hodnota je false.

?CollectionType: řetězec

Plně kvalifikovaný nebo sestavení kvalifikovaný název typu při generování kódu z schémata používá datový typ kolekce.

Poznámky

Názorný postup ukazuje, jak použít tento typ zprostředkovatele, viz Názorný postup: Přístup K webové služby pomocí zprostředkovatelů typu (F#).

O WSDL

WSDL je založen na XML jazyk pro popis webové služby.Webové služby vystavit metoda volání nebo volání funkce v síti a v případě WSDL Internetu.WSDL je používán služby poskytuje popis volání funkce dostupné služby a přidružené datové typy.Typ zprostředkovatele WSDL umožňuje použít typy dat z jakékoli služby WSDL okamžitě v kódu, bez obvyklých režie je vytvořit pro každou službu.

Dokument WSDL obsahuje popis webové služby.WSDL dokumenty jsou ve formátu XML a obsahují definice rozhraní a nabízené operace, zprávy a datové typy používané a informace o koncových bodech sítě jako identifikátory URI, porty a protokoly.Dokument WSDL má dvě hlavní části, abstraktní definice rozhraní, jejich typy, operace a zprávy a oddílu vazby.

Rozhraní WSDL, také známé jako portTypes jsou seskupení činností.Operace jsou jako metody rozhraní.Operací, jako jsou metody, můžete mít parametry a vracet hodnoty.Operace jsou popsány v dokumentu WSDL abstraktní formou, která není specifická pro protokol používá.Část vazby WSDL dokumentu popisuje, jak jsou vystaveny rozhraní jako webové služby prostřednictvím určitého koncového bodu nebo portu a protokolu.Protokol používaný WSDL je obvykle SOAP (protokol SOAP) přes protokol HTTP.Protokol SOAP poskytuje způsob kódování objektově orientované typy a metody.

WSDL 2.0 je podstatnou revizi protokolu WSDL.

Další informace viz WSDL Principy.

Zprostředkovatel typu WSDL

Typ zprostředkovatele WSDL umožňuje program proti webové služby pomocí sadu typů automaticky generována.Na pozadí spuštěn kompilátor svcutil.exe ke generování typy, které můžete použít pro přístup k webové službě.Jsou generovány prohlášením typ zprostředkovatele v F# kód služby.Následující řádky kódu ukazují toto:

 
type terraService = WsdlService<"http://www.terraserver-usa.com/TerraServer2.asmx?WSDL">
let terraClient = terraService.GetTerraServiceSoap ()

Objekt služby skryje podrobnosti protokolu SOAP a zpřístupňuje funkce webového serveru kódu klienta.Objekt služby se označuje jako klient SOAP protože jeho úlohu interakci se serverem pomocí protokolu SOAP volání operacím webových služeb.Je analogická typy vytvořené spuštěním nástroj wsdl.exe a dědí z ClientBase<TChannel>.Klient objekty obsahují pouze zděděné metody z jeho základní třídy, ale také webové metody poskytované službou WWW.

Statické argumenty DataContractOnly, EnableDataBinding, MessageContract, Async, CollectionType, a DataContractSerializer vliv argumenty příkazového řádku s podobnými názvy k svcutil.exe.Další informace o účinku tyto argumenty ServiceModel Metadata Utility Tool (Svcutil.exe).Typy požadované služby jsou generovány podle WsdlService zadejte pod ServiceTypes.

Je nutné přidat odkaz na sestavení System.ServiceModel pro použití WsdlService typ zprostředkovatele.Je také třeba System.Runtime.Serialization.

Typy, které jsou používány pro webové metody jsou součástí řadu typů vnořené pod ServiceTypes.

Příklad

Následující příklad ukazuje použití WsdlService typ zprostředkovatele k volání metody webové služby, v tomto případě TerraServer server publikován společností Microsoft.

open System
open System.ServiceModel
open Microsoft.FSharp.Linq
open Microsoft.FSharp.Data.TypeProviders



type terraService = Microsoft.FSharp.Data.TypeProviders.WsdlService<"http://terraserver-usa.com/TerraService2.asmx?WSDL">

try
    let terraClient = terraService.GetTerraServiceSoap ()
    let myPlace = new terraService.ServiceTypes.msrmaps.com.Place(City = "Redmond", State = "Washington", Country = "United States")
    let myLocation = terraClient.ConvertPlaceToLonLatPt(myPlace)
    printfn "Redmond Latitude: %f Longitude: %f" (myLocation.Lat) (myLocation.Lon)
with
    | :? ServerTooBusyException as exn ->
        let innerMessage =
            match (exn.InnerException) with
            | null -> ""
            | innerExn -> innerExn.Message
        printfn "An exception occurred:\n %s\n %s" exn.Message innerMessage
    | exn -> printfn "An exception occurred: %s" exn.Message

Console.WriteLine("Press any key to continue...");
Console.ReadLine() |> ignore

Výsledek

  

Platformy

Windows 8Windows 8, Windows 7 a Windows Server 2012, Windows Server 2008 R2

Informace o verzi

F# základní verze knihovny

Podporovány: 2.0, 4.0, přenosné

Viz také

Úkoly

Názorný postup: Přístup K webové služby pomocí zprostředkovatelů typu (F#)

Referenční dokumentace

Obor názvů Microsoft.FSharp.data.TypeProviders (F#)

Další zdroje

ServiceModel Metadata Utility Tool (Svcutil.exe)