Ana içeriğe geç

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
<WebServiceDataSource Service="MyService" Contract="MyContract" Operation="MyMethod" TextFormat="{{s:Name}}" ValueFormat="{{s:Value}}">
    <Mappings/>
    <ItemXPath><![CDATA[s:Rows/s:Row]]></ItemXPath>
    <Columns/>
    <Input><![CDATA[<s:Body>
    <s:Argument>{{search}}</s:Argument>
</s:Body>]]></Input>
</WebServiceDataSource>

Bu yapılandırmada:

  • Service şuna ayarlanmıştır MyService, çağrılacak web hizmetinin adını belirtir.
  • Contract şuna ayarlanmıştır MyContract, hizmetin sözleşmesini veya arayüzünü belirtir.
  • Operation şuna ayarlanmıştır MyMethod, hizmet içinde çağrılacak yöntemi belirtir.
  • TextFormat şuna ayarlanmıştır {{s:Name}}, hizmet yanıtındaki her öğenin s:Name öğesinin görüntü metni olarak kullanılacağını belirtir.
  • ValueFormat şuna ayarlanmıştır {{s:Value}}, her öğenin içindeki şu s:Value öğesinin temel değer olarak kullanılacağını belirtir.
  • Mappings boş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ındaki s:Row öğeleri arar: s:Rows öğesi.
  • Columns boştur; şu öğelerde tanımlananlar dışında belirli bir sütunun alınmadığı anlamına gelir: ItemXPath ve TextFormat, ValueFormat.
  • Input XML 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.