How To Call Web
Service With SOAP
Celsius
–
Fahrenheit Calculators
2014
PEMROGRAMAN APLIKASI MOBILE
Disusun Oleh :
1. Titis Nur Pratomo (11.11.4932)
2. Mahfudz Nasrulloh (11.11.4947)
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 1 1. Penjelasan Metode SOAP
SOAP adalah singkatan dari Simple Object Access Protocol, merupakan sebuah protokol
komunikasi client server yang mengirim dan menerima informasi "di atas HTTP". Data yang
dikirim dan diterima dalam format XML. SOAP hampir sama dengan protokol XMLRP, hanya
saja SOAP lebih cocok digunakan untuk data kompleks yang dikirim antar client-server.
Secara konseptual SOAP dapat dianggap sebagai DCOM versi XML. SOAP merupakan
mekanisme lain yang memungkinkan penggunaan remote procedure call. SOAP bersifat netral
platform, netral bahasa dan tidak bergantung pada suatu objek model. Sehingga SOAP-enabled
distributed application dapat menjangkau beragam operating sistem, dimana terdiri dari objek
yang berasal dari vendor yang berbeda, ditulis pada bahasa yang berbeda, dan didasarkan pada
objek model yang berbeda.
SOAP menjadi sangat mudah diterima oleh berbagai pihak – terutama oleh berbagai vendor TI – dikarenakan protokol ini memanfaatkan berbagai teknologi yang sudah ada sebelumnya dan sudah banyak digunakan. Misalnya untuk protokol transport, yang paling
banyak digunakan adalah HTTP, walaupun dimungkinkan untuk menggunakan protokol
transport lainnya. Sedangkan untuk format data atau message digunakan XML yang tidak
diragukan lagi manfaat dan perannya di dalam pertukaran data. Dengan demikian, tidaklah
terlalu mengherankan bila kemudian SOAP dianggap sebagai solusi penyelamat untuk mengatasi
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 2 1.1 Skema SOAP Web Service
Pesan SOAP berbentuk seperti sebuah envelope yang berisi header (optional) dan body
(required). Header berisi blok informasi yang berhubungan dengan bagaimana pesan tersebut
diproses. Hal ini meliputi pe-routingan dan delivery setting, authentication atau authorization
assertions, and transaction contexts. Body berisi pesan sebenarnya yang dikirim dan diproses.
Semua yang dapat ditampilkan dengan sintaks XML dapat dimasukkan dalam pesan body.
Setiap elemen Envelope harus berisi tepat satu elemen Body. Elemen Body dapat berisi
sebanyak mungkin child nodes yang diperlukan. Isi dari elemen Body adalah pesan. Elemen
Body ditentukan dalam suatu cara dimana dapat berisi valid dan wellformed XML yang telah
dibatasi oleh suatu namespace (qualified).
Jika sebuah Envelope berisi elemen Header, harus berisi tidak lebih dari satu, dan harus
tampak pada first child dari Envelope, sebelum elemen Body. Header dapat berisi valid,
well-formed, dan dibatasi dengan namespace XML dimana hendak dimasukkan oleh pencipta pesan
SOAP.
Setiap elemen yang berada dalam Header disebut blok header. Tujuan dari blok header
adalah untuk memberitahukan infomasi yang berhubungan dengan pemrosesan pesan SOAP.
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 3 Keuntungan SOAP
o bahasa, platform, dan transport agnostic
o dirancang untuk menangani lingkungan komputasi terdistribusi
o merupakan standar yang berlaku untuk web servis, sehingga mempunyai dukungan yang
lebih baik dari standar yang lain (WSDL, WS-*) dan tools dari berbagai vendor
o built-in error handling (faults)
o extensibility
Kelemahan SOAP
o secara konseptual lebih sulit, lebih "heavy-weight" dibanding REST
o lebih "verbose" (membutuhkan lebih banyak pernyataan/kode program)
o sulit untuk dikembangkan, mebutuhkan tools
2. STUDI KASUS : KALKULATOR CELSIUS – FAHRENHEIT MENGGUNAKAN
SOAP
Langkah 1: Pertama membuat "Proyek Baru Android". Nama itu "WebServiceDemo" seperti di
How To Call Web Service With SOAP
2014
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 6 Langkah 2:
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 7 Sekarang, memberikan nama "lib". Kita perlu menambahkan sebuah SOAP library ke dalam
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 8 Langkah 3:
Sekarang download library bernama
"kSoap2-android-assembly-2.6.0-jar-dengan-dependencies.jar". Salin file itu dan paste ke dalam "lib" direktori.
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 9 Klik kanan pada proyek.
Go "Build Path -> Configure Build Path"
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 10 4. Klik "Ok" untuk menyelesaikan prosedur menambahkan library untuk aplikasi Android.
Langkah 4:
Selanjutnya kita perlu membuat tata letak layar. Untuk melakukannya, pergi ke
"WebServiceDemo -> res -> layout -> main.xml"
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 11
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fahrenheit"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/txtFar"
android:layout_width="match_parent"
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 12
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Celsius"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/txtCel"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:id="@+id/linearLayout1"
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 13 android:layout_height="wrap_content" >
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 14 <Button
android:id="@+id/btnClear"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Clear" />
</LinearLayout>
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 15 Langkah 5:
Sekarang, cari tahu setiap Layanan Web, pastikan bahwa Anda dapat melihat file WSDL-nya
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 16 Misalnya, Anda memiliki layanan web seperti
http://www.w3schools.com/webservices/tempconvert.asmx ", sehingga untuk melihat file
WSDL, hanya menulis" wsdl "setelah alamat ini seperti:
http://www.w3schools.com/webservices/tempconvert.asmx?WSDL ".
Anda sekarang dilakukan dengan bagian Layanan Web dari internet. Sekarang Anda perlu untuk
memperpanjang beberapa bagian dari file WSDL. Buka link pertama di browser Anda, maka
akan muncul 2 konversi untuk Anda:
CelsiusToFahrenheit
FahrenheitToCelsius
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 17
Untuk CelsiusToFahrenheit:
1. SOAP_ACTION = "http://tempuri.org/CelsiusToFahrenheit";
2. NAMESPACE = "http://tempuri.org/";
3. METHOD_NAME = "CelsiusToFahrenheit";
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 18
Untuk FahrenheitToCelsius:
1. SOAP_ACTION = "http://tempuri.org/FahrenheitToCelsius";
2. NAMESPACE = "http://tempuri.org/";
3. METHOD_NAME = " FahrenheitToCelsius ";
4. URL = "http://www.w3schools.com/webservices/tempconvert.asmx?WSDL";
Langkah 6:
Anda perlu memahami beberapa kelas sebelum melanjutkan untuk menggunakan Web
Service.
1. SoapObject (
Sebuah objek dinamis sederhana yang dapat digunakan untuk membangun SOAP
panggilan tanpa menerapkan KvmSerializable. Pada dasarnya, ini adalah apa yang terjadi di
dalam tubuh amplop SOAP - itu adalah subelement langsung dari tubuh dan semua sub unsur
lanjut. Alih-alih kelas ini, kelas kustom dapat digunakan jika mereka mengimplementasikan
antarmuka KvmSerializable.
Constructor :
SoapObject (java.lang.String namespace, metode java.lang.String)
2. SoapSerializationEnvelope
Kelas ini memperluas SoapEnvelope dengan fungsi Sabun serialisasi.
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 19
SoapSerializationEnvelope (int versi)
Fields:
Type Field Description
boolean dotNet Set this variable to true for compatibility with what seems
to be the default encoding for .Net-Services.
Methods
Return
Type
Method Name Description
void setOutputSoapObject(java.lang.Object soapObject) Assigns the object to the
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 20
Return Type Method Description
void call(java.lang.String SoapAction, SoapEnvelope envelope) set the desired
soapAction header
field
Langkah 7 :
Buka "WebServiceDemo -> src -> WebServiceDemoActivity.java" file dan masukkan data
berikut :
public class WebServiceDemoActivity extends Activity
{
/** Called when the activity is first created. */
private static String SOAP_ACTION1 = "http://tempuri.org/FahrenheitToCelsius";
private static String SOAP_ACTION2 = "http://tempuri.org/CelsiusToFahrenheit";
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 21 private static String METHOD_NAME1 = "FahrenheitToCelsius";
private static String METHOD_NAME2 = "CelsiusToFahrenheit";
private static String URL = "http://www.w3schools.com/webservices/tempconvert.asmx?W
SDL";
public void onCreate(Bundle savedInstanceState)
{
btnFar.setOnClickListener(new View.OnClickListener()
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 23
btnCel.setOnClickListener(ne w View.OnClickListener()
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 24 //this is the actual part that will call the webservice
btnClear.setOnClickListener(ne w View.OnClickListener()
{
@Override
public void onClick(View v)
{
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 25 txtFar.setText("");
}
});
}
}
Langkah 8 :
Selanjutnya , buka “WebServiceDemo -> android.manifest” file. Tambahkan baris sebelum tag <application> : <uses-permission android:name=”android.permission.INTERNET” /> Untuk mengijinkan aplikasi ini apabila menggunakan internet.
Langkah 9 :
Jalankan aplikasi ini di Android Cell.
NB : pada emulator , harus membutuhkan proxy yang fix, jadi coba aplikasi ini pada Android
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 26 Kesimpulan :
Pada tutorial ini mempelajari tentang Web Services , SOAP Envelopes, WSDL Files,
HTTP transport, dan penerapan SOAP Web Service pada aplikasi android.
Debugging :
1. Jika ditemukan permasalahan pada eclipse “No Class Found” maka ikuti cara seperti dibawah ini :
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 27 Sekarang cek pada add external jar dan pastikan jar yang terinstall harus sesuai. Jika sesuai
jalankan project.
2. Cara untuk setting konfigurasi proxy ketika menggunakan emulator.
Langkah 1:
How To Call Web Service With SOAP
2014
Pemrograman Aplikasi Mobile | Celsius – Fahrenheit Calculators With SOAP 28 Proxy -> IP addres internet yang digunakan
Port -> gunakan setting default 8080
Lalu klik “Apply”