使用 WCF 服務模型開發 SAP 應用程式
在最低層級,Windows Communication Foundation (WCF) 呈現程式設計模型,用戶端會透過用戶端與服務端點之間建立的通道交換 SOAP 訊息,以叫用服務上的作業。 此模型稱為 WCF 通道模型,會公開資料類型和方法,讓您直接在 WCF 通道架構上操作。 WCF 通道模型可讓您直接控制您所建立的 SOAP 訊息內容,以及應用程式與 SAP 配接器取用它們的方式;不過,建立格式正確的 SOAP 訊息以透過通道傳送,並驗證傳回的回復訊息可能是詳細的確切工作。
基於這個理由,WCF 會提供另一個稱為 WCF 服務模型的程式設計模型。 WCF 服務模型牽涉到使用 Proxy 類別來叫用目標服務上的作業,或從用戶端接收作業。
用來在目標服務上叫用作業的 Proxy 類別稱為 WCF 用戶端類別。 此類別會將服務公開的作業模型化為具有強型別參數的 .NET 方法。 藉由使用 WCF 服務模型,您可以叫用 SAP 配接器公開的作業作為 WCF 用戶端上的 .NET 方法。 如需 WCF 用戶端的詳細資訊,請參閱 WCF 用戶端概觀。
用來從用戶端接收作業的 Proxy 類別稱為 WCF 服務合約類別。 此類別會將程式碼公開的作業模型化為具有強型別參數的回呼方法。 然後,您可以在 System.ServiceModel.ServiceHost 中裝載這個類別的實例,讓用戶端在您的程式碼上叫用作業。 藉由使用以 POLLINGSTMT 作業為目標的 WCF 服務模型和 WCF 服務合約類別,您可以從 SAP 配接器接收輪詢查詢的結果。
您可以使用工具,從 SAP 配接器公開的服務中繼資料產生 WCF 用戶端類別或 WCF 服務合約和相關聯的協助程式程式碼。 您可以使用下列任一工具:
ServiceModel 中繼資料公用程式工具 (svcutil.exe) ,隨附于 WCF
新增配接器服務參考 Visual Studio 外掛程式,隨附于 SAP 配接器
[新增配接器服務參考外掛程式] 已與 Visual Studio 設計體驗整合,並提供標準 Microsoft Windows 介面,可在配接器所公開的作業上提供強大的流覽和搜尋功能。 如需如何產生 WCF 用戶端或 WCF 服務合約類別的詳細資訊,請參閱 產生 WCF 用戶端或 SAP 解決方案成品的 WCF 服務合約。
由於它呈現 .NET 程式設計人員熟悉的模型,並隱藏通道上 SOAP 訊息交換的基礎複雜性,因此 WCF 服務模型通常是開發 SAP 配接器程式設計解決方案的最佳選擇。 不過,在某些情況下,WCF 通道模型可能是較佳的選擇;特別是在串流很重要的案例中。 這是因為在 SOAP 訊息中的物件 XML 表示與服務模型中用來表示物件的 .NET 類型之間序列化和取消序列化,牽涉到將整個訊息讀入記憶體中。 如需使用 WCF 通道模型的詳細資訊,請參閱 使用 WCF 通道模型開發 SAP 應用程式。
本節中的主題包含資訊、程式和範例,可協助您使用 SAP 配接器來建立和使用 WCF 服務模型來開發應用程式。