WsdlService 형식 공급자(F#)
형식에 대 한 WSDL (웹 서비스 설명 언어) 웹 서비스를 제공합니다.
네임 스페이스/모듈과 경로: Microsoft.FSharp.Data.TypeProviders
어셈블리: 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>
정적 형식은 매개 변수
형식 매개 변수 |
설명 |
---|---|
ServiceUri: 문자열 |
웹 서비스에 대 한 URI입니다. |
?LocalSchemaFile: 문자열 |
서비스를 로컬로 캐시 된 스키마를 저장 하는.wsdlschema 파일입니다. |
?ForceUpdate: bool |
직접 연결 서비스 디자인 타임 및 로컬 스키마 파일의 새로 고침 강제로 사용할 수 있어야 합니다.기본값은 true입니다.때 ForceUpdate 공급자 반응 변화에 false는 LocalSchemaFile. |
?MessageContract: bool |
경우 true, 메시지 계약 형식을 생성 합니다.기본값은 false입니다. |
?EnableDataBinding: 부울 |
True, 생성 된 데이터 계약 형식을 구현 하는 경우는 INotifyPropertyChanged 인터페이스에서 데이터 바인딩에 사용할 수 있도록 합니다. |
?직렬화: bool |
경우 true에서 생성 된 형식을 serialize 할 수 있습니다.기본값은 false입니다.이 설정 된 경우 true, 생성 된 형식을 Serializable 특성이 적용 했습니다. |
?비동기: bool |
경우 true, 동기 및 비동기 메서드 서명을 모두 생성 합니다.기본값은 false입니다. |
?CollectionType: 문자열 |
코드가 스키마에서 생성 되 면 컬렉션 데이터 형식으로 사용할 형식의 완전 한 형태 이거나 정규화 된 어셈블리 이름입니다. |
설명
이 형식 공급자를 사용 하는 방법을 보여 주는 연습을 참조 하십시오. 연습: 형식 공급자를 사용하여 웹 서비스에 액세스(F#).
WSDL 정보
WSDL은 웹 서비스를 설명 하는 XML 기반 언어입니다.네트워크를 통해, WSDL, 인터넷의 경우 메서드 호출 또는 함수 호출 웹 서비스를 노출 합니다.WSDL 서비스에서 서비스와 관련 된 데이터 형식에 사용할 수 있는 함수 호출에 대 한 설명을 제공 하는 데 사용 됩니다.WSDL 형식 공급자 코드의 각 서비스에 대해 만드는 일반적인 오버 헤드 없이 즉시 데이터 형식에서 WSDL 서비스를 사용할 수 있습니다.
WSDL 문서는 웹 서비스에 대 한 설명을 포함합니다.WSDL 문서는 XML 형식으로 되어 및 인터페이스 정의가 및 제공 작업, 메시지 및 데이터 형식을 사용 하면 Uri, 포트 및 프로토콜을 사용 하는 것과 같은 네트워킹 끝점에 대 한 정보.WSDL 문서에 두 가지 주요 섹션으로 구성, 인터페이스, 형식, 작업 및 메시지 및 바인딩 섹션의 추상 정의 있습니다.
WSDL 인터페이스, portTypes 라고도 하는 작업의 그룹입니다.작업 메서드는 인터페이스와 비슷합니다.메서드와 마찬가지로 작업 매개 변수가 있고 반환 값입니다.작업은 추상 형태로 사용 되는 프로토콜에 관련 된 WSDL 문서에 설명 되어 있습니다.바인딩 WSDL 문서의 특정 끝점 또는 포트와 프로토콜을 통해 웹 서비스 인터페이스를 노출 방법을 설명 합니다.WSDL을 사용 하는 프로토콜은 일반적으로 HTTP를 통해 SOAP (단순 개체 액세스 프로토콜)입니다.SOAP 프로토콜의 인코딩 개체 지향 형식 및 메서드를 제공 합니다.
WSDL 2.0은 WSDL 프로토콜의 중요 한 개정입니다.
에 대 한 자세한 내용은 참조 하십시오 이해 WSDL.
WSDL 형식 공급자에 대 한
WSDL 형식 공급자 웹 서비스를 자동으로 생성 된 형식 집합을 프로그래밍할 수 있습니다.컴파일러는 내부적으로 실행 svcutil.exe 웹 서비스에 액세스 하는 데 사용할 수 있는 형식을 생성 합니다.형식 공급자 서비스에 대 한 F# 코드에서 선언 하 여 생성 됩니다.이 다음 줄의 코드를 보여 줍니다.
type terraService = WsdlService<"http://www.terraserver-usa.com/TerraServer2.asmx?WSDL">
let terraClient = terraService.GetTerraServiceSoap ()
서비스 개체 SOAP 프로토콜의 세부 사항을 숨기고 웹 서버에 클라이언트 코드의 기능을 노출 합니다.웹 서비스 작업을 호출 하는 SOAP 프로토콜을 사용 하 여 서버와 상호 작용 하는 작업 이기 때문에 서비스 개체를 SOAP 클라이언트 라고 합니다.Wsdl.exe를 실행 하 여 만든 형식을 유사 하 고 상속 ClientBase<TChannel>.기본 클래스에서 상속 된 메서드 뿐 아니라 웹 서비스에서 제공 하는 웹 메서드 클라이언트 개체를 포함 합니다.
고정 인수 DataContractOnly, EnableDataBinding, MessageContract, Async, CollectionType, 및 DataContractSerializer 명령줄 인수에 영향을 주어진 이름을 svcutil.exe.이러한 인수 효과 대 한 자세한 내용은 참조 하십시오. ServiceModel Metadata Utility Tool (Svcutil.exe).서비스에 필요한 형식에서 생성 되는 WsdlService 입력 ServiceTypes.
어셈블리에 대 한 참조를 추가 해야 System.ServiceModel 를 사용 하는 WsdlService 형식 공급자.또한 해야 System.Runtime.Serialization.
웹 메서드를 사용 하는 형식은 일련의 중첩 된 형식에 포함 된 ServiceTypes.
예제
다음 예제에서는 WsdlService 이 경우, 웹 서비스에서 메서드를 호출 하는 형식 공급자의 TerraServer 사이트 게시 Microsoft Research에서.
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
Output
플랫폼
Windows 8Windows 8, Windows 7, Windows 서버 2012, Windows Server 2008 R2
버전 정보
F# 코어 라이브러리 버전
지원: 2.0, 4.0, 노트북
참고 항목
작업
연습: 형식 공급자를 사용하여 웹 서비스에 액세스(F#)
참조
Microsoft.FSharp.Data.TypeProviders 네임스페이스(F#)