WsdlService türü sağlayıcı (F#)
Türler için wsdl (Web Hizmetleri Açıklama Dili) web hizmeti sağlar.
Ad alanı/modül yolu: Microsoft.FSharp.Data.TypeProviders
Derleme: FSharp.Data.TypeProviders (FSharp.Data.TypeProviders.dll),
type WsdlService<ServiceUri : string,
?LocalSchemaFile : string,
?ForceUpdate : bool
?MessageContract : bool,
?EnableDataBinding : bool,
?Serializable : bool,
?Async : bool,
?CollectionType : string>
Statik tür parametreleri
Tür parametresi |
Description |
---|---|
ServiceUri: dize |
Web hizmeti için URI. |
?LocalSchemaFile: dize |
Yerel olarak önbelleğe alınan hizmet şema depolamak için bir .wsdlschema dosyası. |
?ForceUpdate: bool |
Hizmetine doğrudan bağlantı tasarım zamanı ve zorla yerel şema dosyasının yenileme sırasında kullanılabilir olmasını gerektirir. Varsayılan doğrudur. Zaman ForceUpdate sağlayıcı tepki verir değişikliklere yanlış LocalSchemaFile. |
?MessageContract: bool |
true, İleti sözleşme türleri oluşturur. false varsayılan değerdir. |
?EnableDataBinding: bool |
TRUE, üretilen veri sözleşme türleri uygulamak, INotifyPropertyChanged veri bağlama etkinleştirmek için arabirim. |
?Seri hale getirilebilir: bool |
true, Üretilen türü seri hale getirilebilir. Varsayılan, false değeridir. Bu ayarlanırsa true, üretilen türler uygulanan seri hale getirilebilir özniteliğine sahip. |
?Zaman uyumsuz: bool |
true, Her iki zaman uyumlu ve zaman uyumsuz yöntem imzaları oluşturur. false varsayılan değerdir. |
?CollectionType: dize |
Koleksiyon veri türü şemalara kodu üretilirken kullanılacak türünün tam olarak nitelenmiş veya derleme nitelikli adı. |
Notlar
İzlenecek bu tür sağlayıcısının nasıl kullanılacağını gösteren bir yol için bkz: İzlenecek yol: Web hizmeti sağlayıcıları türü (F#) kullanarak erişme.
wsdl hakkında
wsdl, web hizmetleri açıklayan bir xml tabanlı dildir. Web Hizmetleri, ağ üzerinden ve wsdl, Internet söz konusu olduğunda yöntem çağrıları veya işlev çağrıları açarsınız. wsdl Hizmetleri tarafından hizmet ve ilişkili veri türleri kullanılabilir işlev çağrıları için bir açıklama sağlamak için kullanılır. wsdl türü sağlayıcı veri türlerinden herhangi bir wsdl hizmeti hemen her zamanki bindirmeden her hizmet için oluşturma kodunuzda kullanmanıza olanak sağlar.
wsdl belgesinde bir web hizmeti açıklamasını içerir. wsdl belgeleri xml biçiminde ve arabirim tanımlarını içeren ve işlemleri sunulan, iletileri ve kullanılan veri türlerini ve URI'ları, bağlantı noktaları ve kullanılan iletişim kuralları gibi ağ bitiş noktaları hakkında bilgi. wsdl belgesinde iki ana kısımları, arabirimleri, bunların türlerini, işlemleri ve iletileri ve bindings bölümünü soyut tanımları vardır.
wsdl arabirimi olarak da bilinen portTypes işlemlerinin gruplandırmaları olan. Bir arabirimde yöntemleri gibi operasyonlardır. Yöntemleri gibi işlemleri parametrelere sahiptir ve dönüş değerleri. İşlemleri wsdl belgesinde kullanılan protokole özgü değil soyut bir biçimde açıklanmıştır. wsdl belgesinde bindings bölümünü nasıl belirli bitiş noktası veya bağlantı noktası ve iletişim kuralı aracılığıyla web hizmetleri olarak sergilenen arabirimleri açıklar. wsdl ile kullanılan genellikle soap (Basit Nesne Erişim Protokolü) http üzerinden protokolüdür. soap protokolünün nesne yönelimli türleri ve yöntemleri kodlama bir yol sağlar.
wsdl 2.0 wsdl Protokolü'nün önemli bir değişiklik olur.
Daha fazla bilgi için Anlama wsdl.
wsdl türü sağlayıcısı hakkında
wsdl türü sağlayıcı programa karşı otomatik oluşturulan türleri kümesi olan bir web hizmeti sağlar. Derleyici arka planda çalışan svcutil.exe web hizmetine erişmek için kullanabileceğiniz türlerini oluşturmak için. Bunlar kodunda F# hizmet türü sağlayıcı bildirerek üretilir. Aşağıdaki kod satırlarını bu gösterilmektedir:
type terraService = WsdlService<"http://www.terraserver-usa.com/TerraServer2.asmx?WSDL">
let terraClient = terraService.GetTerraServiceSoap ()
Servis nesnesi soap protokolünün ayrıntılarını gizler ve web sunucusuna istemci kodu işlevlerini kullanıma sunar. Web hizmet işlemleri çağırmak için soap protokolünü kullanarak sunucuyla etkileşim kurmak için kendi işi olduğu için hizmeti nesnesi, soap istemci de denir. Wsdl.exe çalıştırılmasıyla oluşturulan türleri paraleldir ve devraldığı ClientBase<TChannel>. İstemci nesneleri yalnızca kendi temel sınıfından devralınan yöntemleri aynı zamanda web hizmeti tarafından sağlanan web yöntemlerini içerir.
Statik değişkenler DataContractOnly, EnableDataBinding, MessageContract, Async, CollectionType, ve DataContractSerializer komut satırı bağımsız değişkeni için verilen benzer adlara sahip etkileyen svcutil.exe. Bu bağımsız değişkenler etkisi hakkında daha fazla bilgi için bkz: ServiceModel Metadata Utility Tool (Svcutil.exe). Servis için gereken türler altında üretilen WsdlService altında yazın ServiceTypes.
Bir derleme başvuru eklemelisiniz System.ServiceModel kullanmak için WsdlService türü sağlayıcı. Ayrıca gerek duyabileceğiniz System.Runtime.Serialization.
İç içe geçmiş türleri altında bir dizi web metotları için kullanılan türleri dahil ServiceTypes.
Örnek
Aşağıdaki örnek, nasıl kullanılacağını gösterir WsdlService bir web hizmetinde, bu durumda, bir yöntemi çağırmak için sağlayıcı türü TerraServer sitesinde yayımlanan Microsoft Research tarafından.
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
Çıktı
Platformlar
Windows 8Windows 8, Windows 7 ve Windows Server 2012, Windows Server 2008 R2
Sürüm Bilgisi
F# Çekirdek Kitaplığı sürümleri
Desteklenen: 2.0, 4.0, Portable
Ayrıca bkz.
Görevler
İzlenecek yol: Web hizmeti sağlayıcıları türü (F#) kullanarak erişme
Başvuru
Microsoft.FSharp.Data.TypeProviders ad alanı (F#)