Akses WebService dengan J2ME dan kSOAP2 teguhs
Web Service dalam J2ME J2ME Web Service API (jsr-172) KSOAP2 (http://ksoap2.sourceforge.net/)
kSOAP2: Membangun koneksi Untuk membangun koneksi ke webservice digunakan obyek kelas HttpTransport, dimana koneksi tanpa otorisasi HttpTransport http = new HttpTransport(“http://alamat”+”Path/ke/webservice”); Sedangkan koneksi yang memerlukan otorisasi digunakan obyek kelas HttpTransportBasicAuth HttpTransportBasicAuth http = new HttpTransportBasicAuth(“https://alamat”+”Path/ke/webservice”, username, password);
kSOAP2:Membuat Request Setelah koneksi terbangun perlu didefinisikan obyek envelope untuk memformat request dan untuk meletakkan response/balasan dari webservice. Seluruh komunikasi berbasis SOAP menggunakan obyek envelope untuk membungkus SOAP request atau response. Untuk mendefinisikan envelope digunakan bentuk statemen berikut ini SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); Nilai yg valid: SoapEnvelope.VER10 menggunakan SOAP 1.0 SoapEnvelope.VER11 menggunakan SOAP 1.1 SoapEnvelope.VER12 menggunakan SOAP 1.2
kSOAP2:Membuat Request (2) Langkah selanjut adalah mendefinisikan operasi yang akan dipanggil(invoke) oleh kSOAP SoapObject request = new SoapObject(namespace, nama-metode) Parameter pertama: berisi namespace web service, yg kedua adalah nama metode yang akan dipanggil Contoh : SoapObject request = new SoapObject(“urn:ws.latihan.org”, “jumlah”);
kSOAP2:Membuat Request (3) Kemudian perlu didefinisikan obyek request sebagai outgoing object envelope.setOutputSoapObject(request); Untuk menambahkan parameter request digunakan addProperty() addProperty(SOAP_Parameter_Name, variabel_atau_value)
kSOAP2:Making the Call Untuk melakukan pemanggilan webservice digunakan metode http.call(nama-metode, envelope-object) Contoh : http.call(“jumlah”, envelope) Mem-parsing Response SoapObject body = (SoapObject) envelope.bodyIn; Sedangkan untuk mengakses masing atribut dalam response digunakan int hasil = body.getProperty(“return”);