Web Hizmeti Veri Kaynağı¶
Bu veri kaynağı bir web hizmeti çağrısı yürütür ve sonucu değerler 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.
Input özelliği web hizmeti çağrısının istek gövdesini tanımlamak için kullanılır. XML biçiminde olmalıdır ancak veri modelindeki değerleri dinamik olarak eklemek için veri şablonu ifadelerini destekler.
ItemXPath özelliği, yanıt XML'inden öğeleri ayıklamak için XPath ifadesini tanımlamak amacıyla kullanılır.
Örnek¶
1 2 3 4 5 6 7 8 | |
Bu yapılandırmada:
Serviceşu değere ayarlanırMyService, çağrılacak web hizmetinin adını belirtir.Contractşu değere ayarlanırMyContract, hizmetin sözleşmesini veya arayüzünü belirtir.Operationşu değere ayarlanırMyMethod, hizmet içinde çağrılacak yöntemi belirtir.TextFormatşu değere ayarlanır{{s:Name}}, hizmet yanıtındaki her öğenins:Nameöğesinin görüntü metni olarak kullanılacağını belirtir.ValueFormatşu değere ayarlanır{{s:Value}}, her öğenin içindekis:Valueöğesinin temel değer olarak kullanılacağını belirtir.Mappingsboştur; ek eşlemelerin belirtilmediği anlamına gelir.ItemXPathşu değere ayarlanır<![CDATA[s:Rows/s:Row]]>, yanıt XML'indeki tek tek öğeleri ayıklamak için XPath ifadesini belirtir.s:Rowöğelerinis:Rowsöğesinin altında arar.Columnsboştur;ItemXPathveTextFormat,ValueFormat.InputXML istek gövdesini tanımlar.{{search}}Veri modelindeki bir değeri isteğe,s:Argumentöğesinin içinde eklemek için veri şablonu ifadesini kullanır.s:Body.
Özetle, bu veri kaynağı hizmetin MyMethod işlemini MyService sözleşmesini kullanarak çağırır. Veri modelindeki MyContract özelliğe dayalı bir bağımsız değişken içeren XML isteği gönderir. Yanıt ayrıştırılır ve her search öğesinin altındaki s:Name ve s:Value öğeleri, her s:Row öğesinden s:Rows değerler listesini oluşturmak için kullanılır.