XML Eğitimi

XML ANA SAYFA XML'e Giriş XML nasıl kullanılır XML Ağacı XML Sözdizimi XML Öğeleri XML Öznitelikleri XML Ad Alanları XML Görüntüleme XML HttpTalebi XML Ayrıştırıcı XML DOM'si XML XPath'i XML XSLT'si XML XQuery XML Bağlantısı XML Doğrulayıcı XML DTD'si XML Şeması XML Sunucusu XML Örnekleri XML Testi XML Sertifikası

XML AJAX'ı

AJAX Tanıtımı AJAX XMLHttp AJAX İsteği AJAX Yanıtı AJAX XML Dosyası AJAX PHP AJAX ASP AJAX Veritabanı AJAX Uygulamaları AJAX Örnekleri

XML DOM'si

DOM Tanıtımı DOM Düğümleri DOM Erişimi DOM Düğümü Bilgisi DOM Düğüm Listesi DOM Geçişi DOM Gezinme DOM Değerleri Al DOM Değişiklik Düğümleri DOM Düğümleri Kaldır DOM Düğümleri Değiştir DOM Oluşturma Düğümleri DOM Düğüm Ekle DOM Klon Düğümleri DOM Örnekleri

XPath Eğitimi

XPath Giriş XPath Düğümleri XPath Sözdizimi XPath Eksenleri XPath Operatörleri XPath Örnekleri

XSLT Eğitimi

XSLT'ye Giriş XSL Dilleri XSLT Dönüşümü XSLT <şablon> XSLT <değeri> XSLT <her biri için> XSLT <sıralama> XSLT <if> XSLT <seç> XSLT Uygula İstemcide XSLT Sunucuda XSLT XSLT Düzenleme XML'i XSLT Örnekleri

XQuery Eğitimi

XQuery Tanıtımı XQuery Örneği XQuery FLWOR'u XQuery HTML'si XQuery Terimleri XQuery Sözdizimi XQuery Ekle XQuery Seçimi XQuery İşlevleri

XML DTD'si

DTD Giriş DTD Yapı Taşları DTD Elemanları DTD Özellikleri DTD Elemanları vs Attr DTD Varlıkları DTD Örnekleri

XSD Şeması

XSD Tanıtımı XSD Nasıl Yapılır? XSD <şema> XSD Öğeleri XSD Özellikleri XSD Kısıtlamaları

XSD Kompleksi

XSD Öğeleri XSD Boş Yalnızca XSD Öğeleri Yalnızca XSD Metin XSD Karışık XSD Göstergeleri XSD <herhangi bir> XSD <anyÖzellik> XSD Değiştirme XSD Örneği

XSD Verileri

XSD Dizisi XSD Tarihi XSD Sayısal XSD Çeşitli XSD Referansı

Web Hizmetleri

XML Hizmetleri XML WSDL'si XML SABUN XML RDF'si XML RSS'si

Referanslar

DOM Düğüm Türleri DOM Düğümü DOM Düğüm Listesi DOM AdlıDüğüm Haritası DOM Belgesi DOM Öğesi DOM Özelliği DOM Metni DOM CDATA DOM Yorumu DOM XMLHttpRequest DOM Ayrıştırıcı XSLT Öğeleri XSLT/XPath İşlevleri

XML WSDL'si


  • WSDL, Web Hizmetleri Açıklama Dili anlamına gelir
  • WSDL, web servislerini tanımlamak için kullanılır
  • WSDL, XML'de yazılmıştır
  • WSDL, 26'dan itibaren bir W3C önerisidir. Haziran 2007

WSDL Belgeleri

Bir WSDL belgesi bir web hizmetini tanımlar. Bu ana unsurları kullanarak hizmetin yerini ve hizmetin yöntemlerini belirtir:

Element Description
<types> Defines the (XML Schema) data types used by the web service
<message> Defines the data elements for each operation
<portType> Describes the operations that can be performed and the messages involved.
<binding> Defines the protocol and data format for each port type

Bir WSDL belgesinin ana yapısı şöyle görünür:

<definitions>

<types>
  data type definitions........
</types>

<message>
  definition of the data being communicated....
</message>

<portType>
  set of operations......
</portType>

<binding>
  protocol and data format specification....
</binding>

</definitions>


WSDL Örneği

Bu, bir WSDL belgesinin basitleştirilmiş bir bölümüdür:

<message name="getTermRequest">
  <part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
  <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="getTerm">
    <input message="getTermRequest"/>
    <output message="getTermResponse"/>
  </operation>
</portType>

Bu örnekte <portType> öğesi, bir bağlantı noktasının adı olarak "glossaryTerms"i ve bir işlemin adı olarak "getTerm"i tanımlar .

"getTerm" işlemi, "getTermRequest" adlı bir giriş mesajına ve "getTermResponse" adlı bir çıkış mesajına sahiptir.

<message> öğeleri , her mesajın bölümlerini ve ilişkili veri türlerini tanımlar .


<portType> Öğesi

<portType> öğesi, bir web hizmetini , gerçekleştirilebilecek işlemleri ve ilgili mesajları tanımlar.

İstek-yanıt türü en yaygın işlem türüdür, ancak WSDL dört tür tanımlar:

Type Definition
One-way The operation can receive a message but will not return a response
Request-response The operation can receive a request and will return a response
Solicit-response The operation can send a request and will wait for a response
Notification The operation can send a message but will not wait for a response

WSDL Tek Yönlü Çalışma

Tek yönlü bir işlem örneği:

<message name="newTermValues">
  <part name="term" type="xs:string"/>
  <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="setTerm">
    <input name="newTerm" message="newTermValues"/>
  </operation>
</portType >

Yukarıdaki örnekte, portType "glossaryTerms", "setTerm" adlı tek yönlü bir işlemi tanımlar.

"setTerm" işlemi, "term" ve "değer" giriş parametreleriyle bir "newTermValues" mesajı kullanarak yeni sözlük terimleri mesajlarının girilmesine izin verir. Ancak, işlem için herhangi bir çıktı tanımlanmamıştır.


WSDL İstek-Yanıt İşlemi

Bir istek-yanıt işlemi örneği:

<message name="getTermRequest">
  <part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
  <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="getTerm">
    <input message="getTermRequest"/>
    <output message="getTermResponse"/>
  </operation>
</portType>

Yukarıdaki örnekte, portType "glossaryTerms", "getTerm" adlı bir istek-yanıt işlemini tanımlar.

"getTerm" işlemi, "term" adlı bir parametreyle "getTermRequest" adlı bir giriş mesajı gerektirir ve "value" adlı bir parametreyle "getTermResponse" adlı bir çıkış mesajı döndürür.


WSDL'nin SOAP'a Bağlanması

WSDL bağlamaları, bir web hizmeti için mesaj biçimini ve protokol ayrıntılarını tanımlar.

Bir istek-yanıt işlemi örneği:

<message name="getTermRequest">
  <part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
  <part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
  <operation name="getTerm">
    <input message="getTermRequest"/>
    <output message="getTermResponse"/>
  </operation>
</portType>

<binding type="glossaryTerms" name="b1">
   <soap:binding style="document"
   transport="http://schemas.xmlsoap.org/soap/http" />
   <operation>
     <soap:operation soapAction="http://example.com/getTerm"/>
     <input><soap:body use="literal"/></input>
     <output><soap:body use="literal"/></output>
  </operation>
</binding>

Bağlayıcı öğenin iki özelliği vardır - ad ve tür.

name özniteliği (istediğiniz herhangi bir adı kullanabilirsiniz) bağlamanın adını tanımlar ve type özniteliği bağlama için bağlantı noktasını, bu durumda "glossaryTerms" bağlantı noktasını gösterir.

soap : binding öğesinin iki özelliği vardır - stil ve aktarım.

Stil niteliği "rpc" veya "belge" olabilir. Bu durumda belge kullanıyoruz. Transport özniteliği, kullanılacak SOAP protokolünü tanımlar. Bu durumda HTTP kullanıyoruz.

İşlem öğesi, portType'ın gösterdiği her işlemi tanımlar .

Her işlem için ilgili SOAP eylemi tanımlanmalıdır. Ayrıca giriş ve çıkışın nasıl kodlandığını da belirtmelisiniz. Bu durumda "literal" kullanıyoruz.