Ana içeriğe geç

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
<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 şu değere ayarlanır MyService, çağrılacak web hizmetinin adını belirtir.
  • Contract şu değere ayarlanır MyContract, hizmetin sözleşmesini veya arayüzünü belirtir.
  • Operation şu değere ayarlanır MyMethod, hizmet içinde çağrılacak yöntemi belirtir.
  • TextFormat şu değere ayarlanır {{s:Name}}, hizmet yanıtındaki her öğenin s:Name öğesinin görüntü metni olarak kullanılacağını belirtir.
  • ValueFormat şu değere ayarlanır {{s:Value}}, her öğenin içindeki s:Value öğesinin temel değer olarak kullanılacağını belirtir.
  • Mappings boş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 öğelerini s:Rows öğesinin altında arar.
  • Columns boştur; ItemXPath ve TextFormat, ValueFormat.
  • Input XML 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.