Giriş
Service Oriented Architecture (SOA) 3 tane temel standarttan oluşur. Bunlar şöyle
Açıklaması şöyle. Temel olarak bir protokoldür. Bu protokoldaki format XML'dir ve gönderilen alınan SOAP mesajları vardır.
Açıklaması şöyle. Her mesaj belli bir yapıdadır. 3 kısımdan oluşur
SOAP mesajı bir envelop içindedir. Zarfı anlatan bir yazı burada. Zarfın içeriği http://schemas.xmlsoap.org/envelope adresinden görülebilir. Zarf kısaca aşağıdaki gibidir.
Şöyledir.
Soap Body içindeki alanlar metod çağrısına çok benzerler. İçlerinde şöyle metod isimleri bulunur.
Şöyle bir metodumuz olsun
Örnek
Bir başka örnek şöyle
Service Oriented Architecture (SOA) 3 tane temel standarttan oluşur. Bunlar şöyle
- SOAPSOAP Nedir
- WSDL
- UDDI
Açıklaması şöyle. Temel olarak bir protokoldür. Bu protokoldaki format XML'dir ve gönderilen alınan SOAP mesajları vardır.
SOAP is a protocol that defines how two applications will communicate with each other. Two applications when talking to each other have to follow a common format and that common format has to be based using the XML language.SOAP Mesajları
The XML in SOAP APIs have to follow a SOAP Message standard that consists of an Envelop, Header and Body.
Açıklaması şöyle. Her mesaj belli bir yapıdadır. 3 kısımdan oluşur
The XML in SOAP APIs have to follow a SOAP Message standard that consists of an Envelop, Header and Body.1. SOAP Envelope
SOAP mesajı bir envelop içindedir. Zarfı anlatan bir yazı burada. Zarfın içeriği http://schemas.xmlsoap.org/envelope adresinden görülebilir. Zarf kısaca aşağıdaki gibidir.
2. SOAP Header<?xml
version="1.0"
?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> ...
</soap:Envelope>
Şöyledir.
<S12:Envelope ...>
<S12:Header>
...
</S12:Header>
...
</S12:Envelope>
İçinde WS-Security bilgileri bulunur. Şöyledir.<S12:Envelope ...>
<S12:Header>
...
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>NNK</wsse:Username>
<wsse:Password Type="...#PasswordDigest">...</wsse:Password>
<wsse:Nonce>WScqanjCEAC4mQoBE07sAQ==</wsse:Nonce>
<wsu:Created>2003-07-16T01:24:32</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
...
</S12:Header>
...
</S12:Envelope>
3. SOAP BodySoap Body içindeki alanlar metod çağrısına çok benzerler. İçlerinde şöyle metod isimleri bulunur.
addUser
createUser
insertUser
İçinde çağrılacak olan metodun isminin ve parametreleri bulunur. Body kısaca aşağıdaki gibidir.
<?xml version="1.0"?>
<soap:Envelope >
<soap:Body xmlns:m="...">
...
</soap:Body>
</soap:Envelope>
ÖrnekŞöyle bir metodumuz olsun
void XMLData(string xmlString);
Şöyle bir SOAP mesajı üretilir.<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://mycompany.com.tr/">
<soapenv:Header/>
<soapenv:Body>
<tem:XMLData>
<tem:xmlString>...</tem:xmlString>
</tem:XMLData>
</soapenv:Body>
</soapenv:Envelope>
Bir başka örnek şöyle
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
Tüm XML şöyle<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
ÖrnekŞöyle yaparız
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:us="http://www.webservicesoap.org/birthday">
<soapenv:Header/>
<soapenv:Body>
<us:getBirthdayRequest>
<us:day>9</us:day>
<us:month>11</us:month>
<us:year>2001</us:year>
</us:getBirthdayRequest>
</soapenv:Body>
</soapenv:Envelope>
Hiç yorum yok:
Yorum Gönder