SOAP “Simple Object Access Protocol” ün kısaltmasıdır. Kısaca SOAP, internet üzerinden XML tabanlı, platform bağımsız, bir haberleşme protoküdür.
SOAP Mesaj Formatı
<?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" > <soap:Header> </soap:Header> <soap:Body> <-- Fault kullanımı isteğe bağlıdır, web serviste bir hata olursa kullanılır.. --> <soap:Fault> </soap:Fault> </soap:Body> </soap:Envelope>
SOAP Envelope
Envelope, SOAP mesajının root elemanıdır. Envelope içerisinde header (isteğe bağlı) ve body elemanları bulunur.
<?xml version="1.0"?> <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope" > <env:Header> </env:Header> <env:Body> </env:Body> </env:Envelope>
env elemanı içerisindeki
xmlns:env="http://www.w3.org/2002/06/soap-envelope"
değerin olması gerekiyor, aksi takdirde web servisiniz çalışmayacaktır.
SOAP Header
SOAP Header elementi, isteğe bağlı olarak kullanılır ve Envelope elemanının içerisinde bululur. Header’ın içerisinde Body ile alakalı olmayan bilgiler koyulabilir. Bu tamamen web servisin kullanılacağı yer ile alakalı.
Attributes
Header içerisinde kullanabileceğimiz 4 adet standart attribute (özellik) bulunur.
- mustUnderstand
- encodingStyle
- role
- relay
SOAP Body
Web servis yada client tarafından process edilecek olan SOAP mesajının ana kısımdır. SOAP Headerdan farklı olarak SOAP Body isteğe bağlı değil, zorunludur.
<?xml version="1.0"?> <env:Envelope xmlns:env="http://www.w3.org/2001/12/soap-envelope" > <env:Body> <jj:operation name="setName" xmlns:jj="https://kod5.org/operation" /> <jj:param name="userId" value="00009" xmlns:jj="https://kod5.org/params" /> <jj:param name="firstName" value="Muhammed" xmlns:jj="https://kod5.org/params" /> <jj:param name="lastName" value="Ozdemir" xmlns:jj="https://kod5.org/params" /> </env:Body> </env:Envelope>
SOAP Fault, SOAP Roles, SOAP Exchange Message Patterns yakında sizlerle.