Web Hizmeti Veri Kaynağı¶
Bu veri kaynağı bir web hizmeti çağrısı yapar ve sonucu değer listesi olarak döndürür.
Web hizmeti SOAP standardına uymalıdır. Hizmet RESTful biçimindeyse, hizmeti çağırmak için ScriptDataSource kullanılmalıdır.
Web hizmeti çağrısının istek gövdesini tanımlamak için Input özelliği kullanılır. XML biçiminde olmalıdır ancak veri modelindeki değerleri dinamik olarak dahil etmek için veri şablonları ifadelerini destekler.
Bu ItemXPath özelliği, yanıt XML'sinden öğeleri çıkarmak için XPath ifadesini tanımlamakta kullanılır.
Örnek¶
1 2 3 4 5 6 7 8 | |
Bu yapılandırmada:
Serviceşuna ayarlanmıştırMyService, çağrılacak web hizmetinin adını belirtir.Contractşuna ayarlanmıştırMyContract, hizmetin sözleşmesini veya arayüzünü belirtir.Operationşuna ayarlanmıştırMyMethod, hizmet içinde çağrılacak yöntemi belirtir.TextFormatşuna ayarlanmıştır{{s:Name}}, hizmet yanıtındaki her öğenins:Nameöğesinin görüntü metni olarak kullanılacağını belirtir.ValueFormatşuna ayarlanmıştır{{s:Value}}, her öğenin içindeki şus:Valueöğesinin temel değer olarak kullanılacağını belirtir.Mappingsboştur; ek eşlemelerin belirtilmediği anlamına gelir.ItemXPathşuna ayarlanmıştır<![CDATA[s:Rows/s:Row]]>, yanıt XML'sinden tek tek öğeleri ayıklamak için XPath ifadesini belirtir. Şu öğenin altındakis:Rowöğeleri arar:s:Rowsöğesi.Columnsboştur; şu öğelerde tanımlananlar dışında belirli bir sütunun alınmadığı anlamına gelir:ItemXPathveTextFormat,ValueFormat.InputXML istek gövdesini tanımlar. İstek içine, veri modelindeki bir değeri dahil etmek için şu{{search}}veri şablonu ifadesini, şu öğe içinde kullanır:s:Argumentöğesi.s:Body.
Özetle bu veri kaynağı, şu hizmetin MyMethod işlemini, şu MyService hizmet sözleşmesini kullanarak çağırır. Şu MyContract veri modeli özelliğine dayalı bir bağımsız değişken içeren XML isteği gönderir. Yanıt ayrıştırılır ve her şu search öğesinden şu s:Name ve s:Value öğeleri, şu s:Row öğesinin altındaki s:Rows değer listesini doldurmak için kullanılır.