Page tree
Skip to end of metadata
Go to start of metadata

Nedir?

REST Servisleri ile bağlantı kurmak için kullanılan servistir. 

Sentaks
<JsonInvoke Url="" InvokeType="Post" RequestNode="/*/Request" ResponseNode="/*/Response" ClearInto="False">
      <Headers />
</JsonInvoke>

Özellikler

 
Adı
Açıklama
 UrlRequest yapılacak remote web servis adresidir.
 ResponseNodeResponse olarak dönen objenin yazılacağı node adresidir.
 InvokeType

Request yapılırkan hangi http method kullanılacağını belirler. "Get" veya "Post" olabilir.

Veri alınması durumunda "Get", Veri gönderilmesi durumunda "Post" kullanılmalıdır.

 ClearInto

Var olan verinin silinip silinmeyeceği konusunda

 HeadersSOAP Header bilgisini geçmek için kullanılabilir, opsiyoneldir.
 RequestNode

Request yapılacak objenin tanımlı olduğu node adresi veya string içeriğidir.

 
Değer
Açıklama
 ValueCDATA  content veya Node adresi olabilir.

 

 

Örnek (Get Metodu)

JsonInvoke taskına verilen Url üst satırda SetVariable ile $(JsonUrl) değişkenine atanıyor. Geri dönecek olan yanıt Json/Response node 'u içerisine aktarılmaktadır.

JsonTest
  <SetVariable Name="$(JsonUrl)">
    <Value Culture="" Target="None">eval::/*/Baslatan/JsonUrl</Value>
  </SetVariable>
  <JsonInvoke Url="$(JsonUrl)" InvokeType="Get" RequestNode="Json/Request" ResponseNode="Json/Response" ClearInto="True" IsHeadersEncoded="False" IsSerialize="True" Timeout="120" ContentType="application/json" Accept="application/json" IsResultJson="True">
    <Headers />
  </JsonInvoke>

 

Örnek

Kullanım
<JsonInvoke Url="http://localhost/ebidocs/Notification/GetNotifiedDocumentsInfo" InvokeType="Post" RequestNode="/*/Request" ResponseNode="/*/Response" ClearInto="False">
      <Headers />
</JsonInvoke>
Dönen değerlerin alınması
<ForEach Node="/*/Response/Response/NotificationList">
  <SetVariable Name="$(DocumentName)">
    <Value>eval::./DocumentName</Value>
  </SetVariable>
  <SetVariable Name="$(FieldName)">
    <Value>eval::./FieldName</Value>
  </SetVariable>
  <SetVariable Name="$(FieldDate)">
    <StringConcat>
      <DateTimePart Part="Day">
        <Value Target="Date">eval::./FieldDate</Value>
      </DateTimePart>
      <Value>.</Value>
      <DateTimePart Part="Month">
        <Value Target="Date">eval::./FieldDate</Value>
      </DateTimePart>
      <Value>.</Value>
      <DateTimePart Part="Year">
        <Value Target="Date">eval::./FieldDate</Value>
      </DateTimePart>
    </StringConcat>
  </SetVariable>
</ForEach>

Login ile birlikte örnek 

Login işlemleri ile birlikte
  <SetVariable Name="$(LoginURL)">
    <StringConcat>
      <Value Culture="" Target="None">$(APIURL)</Value>
      <Value Culture="" Target="None">auth/oauth2/token</Value>
    </StringConcat>
  </SetVariable>
  <Set Node="DYSAPI/Login/Request">
    <StringConcat>
      <Value Culture="" Target="None" IsCDATA="True"><![CDATA[username=]]></Value>
      <Value Culture="" Target="None">$(APIUser)</Value>
      <Value Culture="" Target="None" IsCDATA="True"><![CDATA[&password=]]></Value>
      <Value Culture="" Target="None">$(APIPassword)</Value>
      <Value Culture="" Target="None" IsCDATA="True"><![CDATA[&grant_type=password&client_id=]]></Value>
      <Value Culture="" Target="None">099153c2625149bc8ecb3e85e03f0022</Value>
    </StringConcat>
  </Set>
  <JsonInvoke Url="$(LoginURL)" InvokeType="Post" RequestNode="API/Login/Request" ResponseNode="API/Login/Result" ClearInto="False" IsHeadersEncoded="False" IsSerialize="False" Timeout="100" ContentType="application/x-www-form-urlencoded" Accept="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" IsResultJson="True">
    <Headers />
  </JsonInvoke>

Örnek Kullanımı

Restfull bir servisi giriş token'ı ile çağırma örneği
   <JsonInvoke Url="https://prod.holding.com.tr/payment/v1/get/Payment" InvokeType="Get" RequestNode="GetPayment/Request" ResponseNode="GetPayment/Response" ClearInto="True" IsHeadersEncoded="False" IsSerialize="True" Timeout="100" ContentType="application/json" Accept="application/json" IsResultJson="True">
    <Headers>
      <Header Key="Authorization">Basic Zm9ybS5lc2lnbmF0dXJlLmVndXZlbjo2bjFiQkJWUVdqNXE4Zngx</Header>
    </Headers>
  </JsonInvoke>

Sisteme dahil olmayan ITASK için Dll üzerinden çağırma

<Using Name="JsonInvoke" Type="EBI.ExtraFunctions.JsonInvoke,EBI.ExtraFunctions" />

Ayrıca Bakınız

WebInvoke

  • No labels