SlideShare a Scribd company logo
1 of 32
Oleh :
Toni Wijanarko Adi Putra, S.Kom., M.Kom
e_mail : t_wijanarko@yahoo.com
HP : 085742992199
Program Studi Teknik Informatika
Teknologi Web Service SOA dengan XML
MATERI / PERTEMUAN :
Simple Object Access Protocol (SOAP)
2
Mahasiswa mampu menjelaskan SOAP dan
dapat menggunakannya.
Diharapkan mahasiswa dapat menjelaskan Inti dari
layanan SOAP, Spesifikasi SOAP, Anatomi Pesan
SOAP, SOAP Actors, Elemen Geader, Atribut
mustUnderstand, Atribut Actor, Elemen Body, Elemen
Fault, SOAP Encoding, Tipe tipe Sederhana, Tipe
Campuran, Struktur, Arry, Optimisasi, Actor Root,
Pengikatan Protokol.
CP dan KAD
Inti dari layanan Web adalah SOAP yang menyediakan sebuah cara
standar untuk memaketkan pesan. SOAP menarik banyak perhatian
karena memfasilitasi komunikasi bergaya RPC antara client dan
server remote. Namun, sudah banyak protokol yang dibuat untuk
memfasilitasi komunikasi antara dua aplikasi, termasuk Sun's RPC,
Microsoft's DCE, JAVA's RMI, dan CORBA's ORPC.
Simple Object Access Protocol (SOAP)
• d
•SOAP berpasangan erat dengan satu bahasa.
•SOAP tidak berpasangan erat dengan protokol
transpor tertentu.
•SOAP tidak terpaku pada satu infrastruktur
objek terdistribusi manapun.
•SOAP mempengaruhi berbagai standar industri
yang ada.
•SOAP memungkinkan kerja sama ke beberapa
lingkungan sekaligus.
Aspek-aspek kunci pada spesifikasi SOAP
1.SOAP envelope.
2.SOAP Encoding.
3.Pesan-pesan bergaya-RPC
4.Pengikatan protokol HTIP POST.
Anatomi Pesan SOAP
SOAPActors (Alur Client ke Aktor)
Elemen Header
Penggunaan header :
1. Otentikasi.
2. Informasi pernyataan keamanan.
3. Informasi routing.
4. Transaksi.
5. Informasi pembayaran.
Elemen Header
<?xml version="1.0" encoding=="utf-8"?>
<soap:Envelope xmlns: soap="http://schemas.xml soap.org/soap/envelope/">
<soap:Header>
<Digest>B839D234A3F87</Digest>
</soap:Header>
<soap:Body>
<StockReport>
<Symbol>MSFT</Symbol>
<Price>74.56</Price>
</StockReport>
</soap:Body>
</soap:Envelope>
Atribut mustUnderstand
<?xml version="l.O" encoding=="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas .xmlsoap.org/soap/envelope/">
<soap:Header>
<Transactionld soap:mustUnderstand="l">l23</Transactionld>
</soap:Header>
<soap:Body>
<UpdateAccountlnfo>
<email>sshort@microsoft.com</email>
<firstName>Scott</firstName>
<lastName>Short</lastName>
</UpdateAccountlnfo>
</soap:Body>
</soa p:En vel ope>
Atribut Actor
<?xml version="1.0"encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/">
<soap:Header>
<Transactionld
soap:mustUnderstand="1"Actor="urn:TransactionCoordinator>123</Transactionid>
</soap:Header>
<soap:Body>
<TransferFunds>
<Source>804039836</Source>
<Destination>804039836</Destination>
<Amount>151.43</Amount>
</ TransferFunds >
</soap:Body>
</soap:Envelope>
Rute SOAP
Elemen Body
Pesan SOAP yang sah harus mempunyai satu elemen Body.
Tubuh tersebut berisi muatan pesan. Tidak ada batasan
tentang bagaimana tubuh tersebut dapat dikodekan. Pesan
tersebut dapat berupa sebuah string sederhana dari karakter-
karakter, array byte yang telah dikodekan, atau XML. Satu-
satunya persyaratan adalah bahwa isinya tidak boleh
mempunyai karakter yang akan membatalkan dokumen
XML yang dihasilkan.
Elemen Fault
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<soap:faultcode>Client.Security</soap:faultcode>
<soap:faultstring>Accessdenied</soap:faultstring>
<soap:faultactor>http://abc.com</soap:faultactor>
<soap:detail>
<MyError>
<Originator>File System</Originator>
<Resource>MySecureFile.txt</Resource>
</MyError>
</soap:detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
Kode-Kode Kesalahan Dasar SOAP
Kode Kesalahan Keterangan
VersionMismatch Sebuah namespace invalid untuk elemen amplop SOAp yang telah disebutkan.
MustUnderstand Sebuah elemen anak, langsung dalam header SOAP yang berisi sebuah atribut
mustUnderstand yang diatur ke 1 dan tidak dimengerti atau diabaikan oleh server.
Client Isi pesan ditemukan sebagai akar penyebab dari kesalahan. Tampaknya, root yang
menyebabkan kesalahan yang dihasilkan dalam kode kesalahan Client berisi sebuah
pesan malformed atau informasi tidak lengkap dalam pesan.
Server Akar penyebab kesalahan tidak secara langsung bersifat mudah diatributkan pada isi
pesan. Contoh-contoh kesalahan yang dihasilkan dalam kode kesa lahan Server,
termasuk server yang tidak dapat mengambil sumber daya yang sesuai (seperti
misalnya koneksi database) untuk memproses pesan atau sebuah kesalahan logika saat
memproses pesan.
Jika server tidak dapat membuka sebuah koneksi database yang diperlukan untuk
memproses pesan client, kode kesalahan berikut akan dihasilkan:
<faultcode>
Server.Database.Connection
</faultcode>
Elemen faultstring akan memuat sebuah string yang dapat kita mengerti dan
menjelaskan kesalahan yang ditemui. Berikut ini nilai faultstring untuk kesalahan
koneksi ke database:
<faultstring>
Unable to open connection to the database
</faultstring>
Menggunakan Pesan-Pesan RPC SOAP
<?xml version="l.O"?>
<soap:Envelope xmlns:soap="http://schemas.xml
soap.org/soap/envelope/">
<soap:Body>
<Add>
<x>1</x>
<y>2</y>
</Add>
</soap:Body>
</soap:Envelope>
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/">
<soap:Body>
<Add Result>
<result>1</result>
</Add Result>
</soap:Body>
</soap: Envelope>
Add2 mengembalikan jumlah dari dua angka lewat sebuah parameter output.
public int Add2(int x,int y,out int sum)
{ Sum=x +y; return sum; }
Memanggil Add2(1, 2) menghasilkan pesan SOAP berikut ini:
<?xml version="l.O" encoding=="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/">
<soap:Body>
<Add2>
<x>1</x>
<y>2</y>
</Add2>
</soap:Body>
</soap:Envelope>
<?xml version="l.O" encoding=="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/">
<soap:Body>
<Add2Response>
<Add2Result>3</Add2Result>
<sum>3</sum>
</Add2Response>
</soap:Body>
</soap:Envelope>
SOAP Encoding
Tipe-Tipe Sederhana
Tipe-tipe sederhana termasuk berbagai string, integer,
date/time, Boolean, dan banyak lagi.
Tipe Campuran
Seringkali, tidak cukup menyalurkan tipe-tipe sederhana,
seperti misalnya integer dan string sebagai parameter. Anda
perlu juga menyalurkan tipe-tipe campuran seperti misalnya
struktur atau array.
Struktur
Struktur adalah sebuah koleksi tipe yang bertindak sebagai
template bagi catatan pengelompokkan data secara logis.
Sebagai contoh, anggaplah Anda perlu membuat sebuah
fungsi yang menghitung volume sebuah balok padat. Daripada
menyalurkan panjang, lebar, dan tinggi balok pada sebuah
parameter terpisah, Anda dapat secara logika
mengelompokkan data dimensi ke dalam sebuah struktur
RectSolid. Kemudian, metode yang menghitung. volume isi
dapat menerima sebuah syarat struktur RectSolid. Berikut ini
adalah sebuah contohnya:
Public struct RectSolid
{ public int length;
public int width;
public int height; }
public int CalcVolume(RectSolid r)
[
return(r.length *r.width *r.height);
]
<?xml version="l. O" encoding=="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xml
soap.org/soap/envelope/">
<soap:Body>
<CalcVolume>
<r>
<length>2</length>
<width>3</width>
<height>l</height>
</r>
</CalcVolume>
</soap:Body>
</soap:Envelope>
Array
Data campuran lainnya yang umum adalah array. Spesifikasi XML tidak
menyebutkan cara sebuah array dikodekan. Spesifikasi SOAP 1.1
mengisi kekosongan ini. Contohnya adalah sebagai berikut:
Public int Add Array (int [] numbers))
{ int total=O;
foreach(int number in numbers) {
total +=n umber; }
return total;
Berikut ini adalah caranya supaya client dapat memanggil
fungsi AddArray:
int [] a == {1,2,3);
int total;
total =AddArray (a);
Panggilan ke AddArray menghasilkan pesan permintaan berikut:
<?xml version="l.0" encoding=="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/"
xmlns:soap-enc=http://schemas.xml soap.org/soap/encoding/
xmlns::xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<AddArray>
<a soap-enc:arrayType="xsi:int[3]">
<int>1</int>
<int>2</int>
<int>3</int>
</a>
</AddArray>
</soap:Body>
</soap:Envelope>
Atribut Root (Hubungan antar actor)
Kelebihan dari protokol HTTP di antaranya:
• Firewall-friendly, protokol-protokol lama seperti misalnya DCOM
(Distributed Component Object Model) tidak termasuk. Sebagian besar
firewall mempunyai port 80, setidaknya yang terbuka untuk lalu lintas
HTTP.
• Mempunyai infrastruktur pendukung yang mantap. Sudah diperkenalkan
banyak teknologi untuk meningkatkan kemampuan penyesuaian dan
penemuan aplikasi-aplikasi berbasis-HTTP.
• Bersifat stateless secara inheren. Sifat stateless dari HTTP membantu
memastikan bahwa komunikasi antara client dan server terjaga, khususnya
lintas internet. Koneksi-koneksi yang tiba-tiba drop mengakibatkan
permasalan bagi protokol-protokol seperti DCOM dan CORBA
TUGAS MEMBUAT MAKALAH
Tugas untuk setiap Mahasiswa
Merangkum Pertemuan Hari ini
Makalah di ketik dengan MS Word font “ARIAL” ukuran huruf 10, dengan jarak antar baris 1,5
spasi,
Buat Slide Presentasi Menggunakan Power Point
Di Email
Contoh Isi makalah :
PENDAHULUAN
ISI
RINGKASAN
DAFTAR PUSTAKA ( selain daftar pustaka dalam slide ini)
Sumber Kepustakaan :
•XML, Step by Step, Michael J. Young,
•Bulding XML Web Service for the Microsoft .NET
Platform, by Microsoft Corporation Published by
Microsoft Press
•Microsoft ASP.NET, Step by Step, G. Andrew
Duthie

More Related Content

Similar to SOAP Web Service

Warda 1100631042
Warda 1100631042Warda 1100631042
Warda 1100631042wardandha
 
JENI-J2ME-Bab08-Web Services.pdf
JENI-J2ME-Bab08-Web Services.pdfJENI-J2ME-Bab08-Web Services.pdf
JENI-J2ME-Bab08-Web Services.pdfJurnal IT
 
Tugas pemrograman 3 (rpc,soap,rest) 1100631003 muhammad arif prayugo
Tugas pemrograman 3 (rpc,soap,rest) 1100631003 muhammad arif prayugoTugas pemrograman 3 (rpc,soap,rest) 1100631003 muhammad arif prayugo
Tugas pemrograman 3 (rpc,soap,rest) 1100631003 muhammad arif prayugoArif Prayugo
 
Tugas 3 0317-dewi apriliani-1412510602
Tugas 3 0317-dewi apriliani-1412510602Tugas 3 0317-dewi apriliani-1412510602
Tugas 3 0317-dewi apriliani-1412510602dewiapril1996
 
Tugas 3 0317-nurulazmi-1412510487
Tugas 3 0317-nurulazmi-1412510487Tugas 3 0317-nurulazmi-1412510487
Tugas 3 0317-nurulazmi-1412510487nurul azmi
 
Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_Helmi Mahfudhatul
 
05. Affiliate Marketing & Webservices
05. Affiliate Marketing & Webservices05. Affiliate Marketing & Webservices
05. Affiliate Marketing & WebservicesJarot Syahputro
 
Tugas 3 0317-imelda felicia-1412510545
Tugas 3 0317-imelda felicia-1412510545Tugas 3 0317-imelda felicia-1412510545
Tugas 3 0317-imelda felicia-1412510545imeldafelicia
 
Tugas3 rekayasa web
Tugas3 rekayasa web Tugas3 rekayasa web
Tugas3 rekayasa web Nasrul Akbar
 
Tugas 3 0317-fahreza yozi-1612510832
Tugas 3 0317-fahreza yozi-1612510832Tugas 3 0317-fahreza yozi-1612510832
Tugas 3 0317-fahreza yozi-1612510832fahreza yozi
 
Tugas2 rekayasaweb
Tugas2 rekayasawebTugas2 rekayasaweb
Tugas2 rekayasawebseptianarul
 
Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028Edwin Prassetyo
 
Tugas 4 rekayasa web 0316
Tugas 4 rekayasa web 0316Tugas 4 rekayasa web 0316
Tugas 4 rekayasa web 0316art david
 
Tugas 7 – rekayasa web
Tugas 7 – rekayasa webTugas 7 – rekayasa web
Tugas 7 – rekayasa webikasulistiyani
 
Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317esti setiasih
 
Tugas 2 rekweb laily fitria 1412510511
Tugas 2 rekweb laily fitria 1412510511Tugas 2 rekweb laily fitria 1412510511
Tugas 2 rekweb laily fitria 1412510511lailyfitria
 
Tugas 4 rekayasa web 1312510231 rostarina.h
Tugas 4 rekayasa web 1312510231 rostarina.hTugas 4 rekayasa web 1312510231 rostarina.h
Tugas 4 rekayasa web 1312510231 rostarina.hosta92
 

Similar to SOAP Web Service (20)

RCP, SOAP, REST
RCP, SOAP, RESTRCP, SOAP, REST
RCP, SOAP, REST
 
Warda 1100631042
Warda 1100631042Warda 1100631042
Warda 1100631042
 
Web Services
Web ServicesWeb Services
Web Services
 
JENI-J2ME-Bab08-Web Services.pdf
JENI-J2ME-Bab08-Web Services.pdfJENI-J2ME-Bab08-Web Services.pdf
JENI-J2ME-Bab08-Web Services.pdf
 
Tugas pemrograman 3 (rpc,soap,rest) 1100631003 muhammad arif prayugo
Tugas pemrograman 3 (rpc,soap,rest) 1100631003 muhammad arif prayugoTugas pemrograman 3 (rpc,soap,rest) 1100631003 muhammad arif prayugo
Tugas pemrograman 3 (rpc,soap,rest) 1100631003 muhammad arif prayugo
 
Tugas 3 0317-dewi apriliani-1412510602
Tugas 3 0317-dewi apriliani-1412510602Tugas 3 0317-dewi apriliani-1412510602
Tugas 3 0317-dewi apriliani-1412510602
 
Tugas 1100631004 pemrog3
Tugas 1100631004 pemrog3Tugas 1100631004 pemrog3
Tugas 1100631004 pemrog3
 
Tugas 3 0317-nurulazmi-1412510487
Tugas 3 0317-nurulazmi-1412510487Tugas 3 0317-nurulazmi-1412510487
Tugas 3 0317-nurulazmi-1412510487
 
Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_Tugas_pemrograman3_1100631026_Helmi_MH_
Tugas_pemrograman3_1100631026_Helmi_MH_
 
05. Affiliate Marketing & Webservices
05. Affiliate Marketing & Webservices05. Affiliate Marketing & Webservices
05. Affiliate Marketing & Webservices
 
Tugas 3 0317-imelda felicia-1412510545
Tugas 3 0317-imelda felicia-1412510545Tugas 3 0317-imelda felicia-1412510545
Tugas 3 0317-imelda felicia-1412510545
 
Tugas3 rekayasa web
Tugas3 rekayasa web Tugas3 rekayasa web
Tugas3 rekayasa web
 
Tugas 3 0317-fahreza yozi-1612510832
Tugas 3 0317-fahreza yozi-1612510832Tugas 3 0317-fahreza yozi-1612510832
Tugas 3 0317-fahreza yozi-1612510832
 
Tugas2 rekayasaweb
Tugas2 rekayasawebTugas2 rekayasaweb
Tugas2 rekayasaweb
 
Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028Tugas pemrograman III_1100631028
Tugas pemrograman III_1100631028
 
Tugas 4 rekayasa web 0316
Tugas 4 rekayasa web 0316Tugas 4 rekayasa web 0316
Tugas 4 rekayasa web 0316
 
Tugas 7 – rekayasa web
Tugas 7 – rekayasa webTugas 7 – rekayasa web
Tugas 7 – rekayasa web
 
Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317
 
Tugas 2 rekweb laily fitria 1412510511
Tugas 2 rekweb laily fitria 1412510511Tugas 2 rekweb laily fitria 1412510511
Tugas 2 rekweb laily fitria 1412510511
 
Tugas 4 rekayasa web 1312510231 rostarina.h
Tugas 4 rekayasa web 1312510231 rostarina.hTugas 4 rekayasa web 1312510231 rostarina.h
Tugas 4 rekayasa web 1312510231 rostarina.h
 

SOAP Web Service

  • 1. Oleh : Toni Wijanarko Adi Putra, S.Kom., M.Kom e_mail : t_wijanarko@yahoo.com HP : 085742992199 Program Studi Teknik Informatika Teknologi Web Service SOA dengan XML MATERI / PERTEMUAN : Simple Object Access Protocol (SOAP) 2
  • 2. Mahasiswa mampu menjelaskan SOAP dan dapat menggunakannya. Diharapkan mahasiswa dapat menjelaskan Inti dari layanan SOAP, Spesifikasi SOAP, Anatomi Pesan SOAP, SOAP Actors, Elemen Geader, Atribut mustUnderstand, Atribut Actor, Elemen Body, Elemen Fault, SOAP Encoding, Tipe tipe Sederhana, Tipe Campuran, Struktur, Arry, Optimisasi, Actor Root, Pengikatan Protokol. CP dan KAD
  • 3. Inti dari layanan Web adalah SOAP yang menyediakan sebuah cara standar untuk memaketkan pesan. SOAP menarik banyak perhatian karena memfasilitasi komunikasi bergaya RPC antara client dan server remote. Namun, sudah banyak protokol yang dibuat untuk memfasilitasi komunikasi antara dua aplikasi, termasuk Sun's RPC, Microsoft's DCE, JAVA's RMI, dan CORBA's ORPC. Simple Object Access Protocol (SOAP)
  • 4. • d •SOAP berpasangan erat dengan satu bahasa. •SOAP tidak berpasangan erat dengan protokol transpor tertentu. •SOAP tidak terpaku pada satu infrastruktur objek terdistribusi manapun. •SOAP mempengaruhi berbagai standar industri yang ada. •SOAP memungkinkan kerja sama ke beberapa lingkungan sekaligus.
  • 5. Aspek-aspek kunci pada spesifikasi SOAP 1.SOAP envelope. 2.SOAP Encoding. 3.Pesan-pesan bergaya-RPC 4.Pengikatan protokol HTIP POST.
  • 8. Elemen Header Penggunaan header : 1. Otentikasi. 2. Informasi pernyataan keamanan. 3. Informasi routing. 4. Transaksi. 5. Informasi pembayaran.
  • 9.
  • 10. Elemen Header <?xml version="1.0" encoding=="utf-8"?> <soap:Envelope xmlns: soap="http://schemas.xml soap.org/soap/envelope/"> <soap:Header> <Digest>B839D234A3F87</Digest> </soap:Header> <soap:Body> <StockReport> <Symbol>MSFT</Symbol> <Price>74.56</Price> </StockReport> </soap:Body> </soap:Envelope>
  • 11. Atribut mustUnderstand <?xml version="l.O" encoding=="utf-8"?> <soap:Envelope xmlns:soap="http://schemas .xmlsoap.org/soap/envelope/"> <soap:Header> <Transactionld soap:mustUnderstand="l">l23</Transactionld> </soap:Header> <soap:Body> <UpdateAccountlnfo> <email>sshort@microsoft.com</email> <firstName>Scott</firstName> <lastName>Short</lastName> </UpdateAccountlnfo> </soap:Body> </soa p:En vel ope>
  • 12. Atribut Actor <?xml version="1.0"encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/"> <soap:Header> <Transactionld soap:mustUnderstand="1"Actor="urn:TransactionCoordinator>123</Transactionid> </soap:Header> <soap:Body> <TransferFunds> <Source>804039836</Source> <Destination>804039836</Destination> <Amount>151.43</Amount> </ TransferFunds > </soap:Body> </soap:Envelope>
  • 14. Elemen Body Pesan SOAP yang sah harus mempunyai satu elemen Body. Tubuh tersebut berisi muatan pesan. Tidak ada batasan tentang bagaimana tubuh tersebut dapat dikodekan. Pesan tersebut dapat berupa sebuah string sederhana dari karakter- karakter, array byte yang telah dikodekan, atau XML. Satu- satunya persyaratan adalah bahwa isinya tidak boleh mempunyai karakter yang akan membatalkan dokumen XML yang dihasilkan.
  • 15. Elemen Fault <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/"> <soap:Body> <soap:Fault> <soap:faultcode>Client.Security</soap:faultcode> <soap:faultstring>Accessdenied</soap:faultstring> <soap:faultactor>http://abc.com</soap:faultactor> <soap:detail> <MyError> <Originator>File System</Originator> <Resource>MySecureFile.txt</Resource> </MyError> </soap:detail> </soap:Fault> </soap:Body> </soap:Envelope>
  • 16. Kode-Kode Kesalahan Dasar SOAP Kode Kesalahan Keterangan VersionMismatch Sebuah namespace invalid untuk elemen amplop SOAp yang telah disebutkan. MustUnderstand Sebuah elemen anak, langsung dalam header SOAP yang berisi sebuah atribut mustUnderstand yang diatur ke 1 dan tidak dimengerti atau diabaikan oleh server. Client Isi pesan ditemukan sebagai akar penyebab dari kesalahan. Tampaknya, root yang menyebabkan kesalahan yang dihasilkan dalam kode kesalahan Client berisi sebuah pesan malformed atau informasi tidak lengkap dalam pesan. Server Akar penyebab kesalahan tidak secara langsung bersifat mudah diatributkan pada isi pesan. Contoh-contoh kesalahan yang dihasilkan dalam kode kesa lahan Server, termasuk server yang tidak dapat mengambil sumber daya yang sesuai (seperti misalnya koneksi database) untuk memproses pesan atau sebuah kesalahan logika saat memproses pesan.
  • 17. Jika server tidak dapat membuka sebuah koneksi database yang diperlukan untuk memproses pesan client, kode kesalahan berikut akan dihasilkan: <faultcode> Server.Database.Connection </faultcode>
  • 18. Elemen faultstring akan memuat sebuah string yang dapat kita mengerti dan menjelaskan kesalahan yang ditemui. Berikut ini nilai faultstring untuk kesalahan koneksi ke database: <faultstring> Unable to open connection to the database </faultstring>
  • 19. Menggunakan Pesan-Pesan RPC SOAP <?xml version="l.O"?> <soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/"> <soap:Body> <Add> <x>1</x> <y>2</y> </Add> </soap:Body> </soap:Envelope>
  • 20. <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/"> <soap:Body> <Add Result> <result>1</result> </Add Result> </soap:Body> </soap: Envelope>
  • 21. Add2 mengembalikan jumlah dari dua angka lewat sebuah parameter output. public int Add2(int x,int y,out int sum) { Sum=x +y; return sum; } Memanggil Add2(1, 2) menghasilkan pesan SOAP berikut ini: <?xml version="l.O" encoding=="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/"> <soap:Body> <Add2> <x>1</x> <y>2</y> </Add2> </soap:Body> </soap:Envelope>
  • 22. <?xml version="l.O" encoding=="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/"> <soap:Body> <Add2Response> <Add2Result>3</Add2Result> <sum>3</sum> </Add2Response> </soap:Body> </soap:Envelope>
  • 23. SOAP Encoding Tipe-Tipe Sederhana Tipe-tipe sederhana termasuk berbagai string, integer, date/time, Boolean, dan banyak lagi. Tipe Campuran Seringkali, tidak cukup menyalurkan tipe-tipe sederhana, seperti misalnya integer dan string sebagai parameter. Anda perlu juga menyalurkan tipe-tipe campuran seperti misalnya struktur atau array.
  • 24. Struktur Struktur adalah sebuah koleksi tipe yang bertindak sebagai template bagi catatan pengelompokkan data secara logis. Sebagai contoh, anggaplah Anda perlu membuat sebuah fungsi yang menghitung volume sebuah balok padat. Daripada menyalurkan panjang, lebar, dan tinggi balok pada sebuah parameter terpisah, Anda dapat secara logika mengelompokkan data dimensi ke dalam sebuah struktur RectSolid. Kemudian, metode yang menghitung. volume isi dapat menerima sebuah syarat struktur RectSolid. Berikut ini adalah sebuah contohnya:
  • 25. Public struct RectSolid { public int length; public int width; public int height; } public int CalcVolume(RectSolid r) [ return(r.length *r.width *r.height); ] <?xml version="l. O" encoding=="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/"> <soap:Body> <CalcVolume> <r> <length>2</length> <width>3</width> <height>l</height> </r> </CalcVolume> </soap:Body> </soap:Envelope>
  • 26. Array Data campuran lainnya yang umum adalah array. Spesifikasi XML tidak menyebutkan cara sebuah array dikodekan. Spesifikasi SOAP 1.1 mengisi kekosongan ini. Contohnya adalah sebagai berikut: Public int Add Array (int [] numbers)) { int total=O; foreach(int number in numbers) { total +=n umber; } return total;
  • 27. Berikut ini adalah caranya supaya client dapat memanggil fungsi AddArray: int [] a == {1,2,3); int total; total =AddArray (a);
  • 28. Panggilan ke AddArray menghasilkan pesan permintaan berikut: <?xml version="l.0" encoding=="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xml soap.org/soap/envelope/" xmlns:soap-enc=http://schemas.xml soap.org/soap/encoding/ xmlns::xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <AddArray> <a soap-enc:arrayType="xsi:int[3]"> <int>1</int> <int>2</int> <int>3</int> </a> </AddArray> </soap:Body> </soap:Envelope>
  • 29. Atribut Root (Hubungan antar actor)
  • 30. Kelebihan dari protokol HTTP di antaranya: • Firewall-friendly, protokol-protokol lama seperti misalnya DCOM (Distributed Component Object Model) tidak termasuk. Sebagian besar firewall mempunyai port 80, setidaknya yang terbuka untuk lalu lintas HTTP. • Mempunyai infrastruktur pendukung yang mantap. Sudah diperkenalkan banyak teknologi untuk meningkatkan kemampuan penyesuaian dan penemuan aplikasi-aplikasi berbasis-HTTP. • Bersifat stateless secara inheren. Sifat stateless dari HTTP membantu memastikan bahwa komunikasi antara client dan server terjaga, khususnya lintas internet. Koneksi-koneksi yang tiba-tiba drop mengakibatkan permasalan bagi protokol-protokol seperti DCOM dan CORBA
  • 31. TUGAS MEMBUAT MAKALAH Tugas untuk setiap Mahasiswa Merangkum Pertemuan Hari ini Makalah di ketik dengan MS Word font “ARIAL” ukuran huruf 10, dengan jarak antar baris 1,5 spasi, Buat Slide Presentasi Menggunakan Power Point Di Email Contoh Isi makalah : PENDAHULUAN ISI RINGKASAN DAFTAR PUSTAKA ( selain daftar pustaka dalam slide ini)
  • 32. Sumber Kepustakaan : •XML, Step by Step, Michael J. Young, •Bulding XML Web Service for the Microsoft .NET Platform, by Microsoft Corporation Published by Microsoft Press •Microsoft ASP.NET, Step by Step, G. Andrew Duthie