SABUN - Zarf
SOAP zarfı mesajın başlangıcını ve sonunu belirtir, böylece alıcı bir mesajın tamamının ne zaman alındığını bilir. SOAP zarfı, bir mesajı ne zaman aldığınızı ve onu işlemeye hazır olduğunuzu bilme sorununu çözer. SOAP zarfı bu nedenle temelde bir paketleme mekanizmasıdır.
Dikkat Edilmesi Gereken Noktalar
Her SOAP mesajının bir kök Zarf öğesi vardır.
Zarf, SOAP mesajının zorunlu bir parçasıdır.
Her Envelope öğesi, tam olarak bir Body öğesi içermelidir.
Bir Zarf bir Başlık öğesi içeriyorsa, birden fazla içermemeli ve Zarfın Gövdeden önce ilk alt öğesi olarak görünmelidir.
SOAP sürümleri değiştiğinde zarf değişir.
SOAP zarfı, ENV ad alanı öneki ve Zarf öğesi kullanılarak belirtilir .
İsteğe bağlı SOAP kodlaması ayrıca bir ad alanı adı ve SOAP stilinden farklı bir kodlama stiline de işaret edebilen isteğe bağlı encodingStyle öğesi kullanılarak belirtilir .
V1.1 uyumlu bir SOAP işlemcisi, v1.2 zarf ad alanını içeren bir mesaj alındığında bir hata oluşturur.
V1.2 uyumlu bir SOAP işlemcisi , v1.2 zarf ad alanını içermeyen bir mesaj alırsa VersionMismatch hatası oluşturur .
v1.2-Uyumlu SOAP Mesajı
Aşağıda, v1.2 uyumlu bir SOAP mesajı örneği verilmiştir.
<?xml version = "1.0"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope"
SOAP-ENV:encodingStyle = " http://www.w3.org/2001/12/soap-encoding">
...
Message information goes here
...
</SOAP-ENV:Envelope>
HTTP POST ile SABUN
Aşağıdaki örnek, mesajı sunucuya gönderen bir HTTP POST işlemi içinde bir SOAP mesajının kullanımını göstermektedir. Zarf şema tanımı ve kodlama kurallarının şema tanımı için ad alanlarını gösterir. Orderentry HTTP başlık referans tutorialspoint.com web sitesinde çağırılacak programın adıdır.
POST /OrderEntry HTTP/1.1
Host: www.tutorialspoint.com
Content-Type: application/soap; charset="utf-8"
Content-Length: nnnn
<?xml version = "1.0"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope"
SOAP-ENV:encodingStyle = " http://www.w3.org/2001/12/soap-encoding">
...
Message information goes here
...
</SOAP-ENV:Envelope>
NOTE - HTTP bağlaması, hizmetin konumunu belirtir.