Cara menggunakan soap header php
Pada tutorial kali ini kita akan membahas tentang mengenal apa itu PHP Soap, Soap merupakan singkatan dari Simple Object Access Protocol yaitu merupakan standarisasi dari protocol komunikasi untuk saling bertukar informasi atau pesan yang berbasis xml melalui jaringan computer pada suatu sistem operasi (OS) dengan menggunakan HTTP dan XML sebagai mekanisme pertukaran data, maka SOAP
dapat berkomunikasi dengan berbagai aplikasi meskipun terdapat perbedaan sistem operasi, teknologi, dan bahasa pemogramannya. Soap sangat efektif digunakan untuk berbagai macam aplikasi multi tier untuk berkomunikasi lintas sistem operasi yang berbeda dengan teknologi dan bahasa pemograman yang berbeda, dan soap didalam teknologi web service adalah sebagai protocol pemaketan untuk pesan-pesan yang digunakan secara bersamaan oleh aplikasi-aplikasi penggunanya. Kelebihan dari SOAP adalah : Kekurangan dari SOAP adalah : Stuktur dari SOAP yaitu : Untuk sturktur dari soap message yaitu seperti dibawah ini :
<xml version="1.0"> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3org/2001/12/soap-encoding"> <soap:Header>
.... </soap:Header> <soap:body> ....... <soap:vault>
........... </soap:vault> </soap:body> </soap:envelope> Pada script di atas pada bagian header berfungsi untuk menyimpan informasi yang berhubungan dengan proses pengiriman autentikasi. Sedangkan bagian body menyimpan message yang akan di proses. Oke teman-teman itulah pembahasan kita tentang Mengenal Apa itu PHP SOAP, semoga bermanfaat Terimakasih.
For School Kerjasama untuk sekolah For Campus Kerjasama untuk kampus For Mentor Peluang penghasilan untuk mentor LoginRegister Web Service – Cara Menampilkan Data (Read) Cara Menampilkan Data (Read) – Tutorial kali ini akan mengulas bagaimana cara menampilkan data dari server ke klien pada konsep pemrograman web service. Pada web service ini kita gunakan fungsi NUSOAP. Oia Untuk model web service pada tutorial kali ini kita menggunakan model SOAP. Untuk tutorial berikutnya akan kita bahas tentang web service dengan model REST. Menampilkan data dari tabel database yang berada pada server tidaklah sulit. Yang perlu di pahami adalah komponen dari model web service itu sendiri. Untuk model SOAP kita harus membuat sebuah program di server yang berfungsi untuk menampilkan data, nah dari script php tersebut kita akan panggil di client menggunakan url akses yang di berikan dari server.
Oke langsung Saja kita mulai cara membuat aplikasi web service untuk menampilkan data, untuk folder projeknya contoh ini kita buat saja dengan folder “WS” pada server kamu, kemudian langkah-langkahnya: Server: Buat folder 1 lagi yaitu “server” di dalam foder WS, folder ini untuk meletakkan contoh script server yang akan kita gunakan sebagai web service. 1. Buat database dan tabel seperti berikut ini, pada contoh ini database dengan nama “ukm” dan nama tabel “barang“, Jadi ceritanya kita akan menampilkan data pada aplikasi ukm yaitu data barang. Kemudian buat isi tabel dengan query sql di bawah ini: -- phpMyAdmin SQL Dump -- version 4.5.1 -- http://www.phpmyadmin.net -- -- Host: 127.0.0.1 -- Generation Time: May 09, 2017 at 02:21 PM -- Server version: 10.1.10-MariaDB -- PHP Version: 5.6.19 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; /*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; /*!40101 SET @[email protected]@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `ukm` -- -- -------------------------------------------------------- -- -- Table structure for table `barang` -- CREATE TABLE `barang` ( `idBarang` int(11) NOT NULL, `kodeBarang` varchar(15) NOT NULL, `namaBarang` varchar(200) NOT NULL, `satuanBarang` varchar(15) NOT NULL, `stokBarang` int(11) NOT NULL, `hargaBarang` int(11) NOT NULL, `foto` varchar(250) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `barang` -- INSERT INTO `barang` (`idBarang`, `kodeBarang`, `namaBarang`, `satuanBarang`, `stokBarang`, `hargaBarang`, `foto`) VALUES (2, 'KB-MHJ', 'Jilbab Panjang', 'pcs', 100, 15000, 'Islamic_Wallpaper_Allah_014-1440x900.jpg'), (3, 'KP-WHDP', 'Dompet Wanita Dua Pari Hijau', 'pcs', 100, 10000, 'tulis.jpg'), (4, 'HK-B', 'Handuk Kecil Biru', 'pcs', 100, 23000, '1094969_hand_writing.jpg'), (19, 'Ax', 'Ax', 'pcs', 11, 17000, ''), (25, 'KP', 'Kopiah', 'pcs', 23, 12000, ''); -- -- Indexes for dumped tables -- -- -- Indexes for table `barang` -- ALTER TABLE `barang` ADD PRIMARY KEY (`idBarang`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `barang` -- ALTER TABLE `barang` MODIFY `idBarang` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=26; /*!40101 SET [email protected]_CHARACTER_SET_CLIENT */; /*!40101 SET [email protected]_CHARACTER_SET_RESULTS */; /*!40101 SET [email protected]_COLLATION_CONNECTION */; 2. Download nusoap, kemudian letakkan fungsi ini di folder projek WS->SERVER, Oke kemudian buat file dengan nama server.php di folder tersebut . File inilah yang akan kita gunakan sebagai server web service. Dan isi dari file ini sebagai berikut: configureWSDL('WEB SERVICE UKM', 'urn:barangServerWSDL'); // configure WSDL file $server->wsdl->schemaTargetNamespace = $ns; // server namespace ########################Data Barang############################################################## // Complex Array Keys and Types Data Barang++++++++++++++++++++++++++++++++++++++++++ $server->wsdl->addComplexType("barangData","complexType","struct","all","", array( "idBarang"=>array("name"=>"idBarang","type"=>"xsd:int"), "kodeBarang"=>array("name"=>"kodeBarang","type"=>"xsd:string"), "namaBarang"=>array("name"=>"namaBarang","type"=>"xsd:string"), "satuanBarang"=>array("name"=>"satuanBarang","type"=>"xsd:string"), "hargaBarang"=>array("name"=>"hargaBarang","type"=>"xsd:int"), "stokBarang"=>array("name"=>"stokBarang","type"=>"xsd:int") ) ); // Complex Array Data Barang++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $server->wsdl->addComplexType("barangArray","complexType","array","","SOAP-ENC:Array", array(), array( array( "ref"=>"SOAP-ENC:arrayType", "wsdl:arrayType"=>"tns:barangData[]" ) ), "barangData" ); // End Complex Type kategori++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ########################/Data Barang############################################################## ########################/Register Data Barang###################################################### //Ambil Semua Data Barang //$input_readall = array(); // parameter ambil data kategori //$return_readall = array("return" => "xsd:barangArray"); $server->register('readall', // method name //$input_readall, //$return_readall, array('input' => 'xsd:String'), // input parameters array('output' => 'xsd:Array'), // output parameters $ns, // namespace "urn:".$ns."/readall", // soapaction "rpc", // style "encoded", // use "Mengambil Semua Data Barang"); // documentation //Ambil Semua Data Barang function readall() { $server = "localhost"; $username = "root" ; $password = "" ; $database = "ukm"; $con = new mysqli($server,$username,$password,$database); if($con->connect_error){ die("Koneksi gagal: ".$con->connect_error); } $r = $con->query("SELECT * FROM barang"); while($value= $r->fetch_assoc()) { $return_value[] = array( 'id'=> $value['idBarang'], 'kode'=> $value['kodeBarang'], 'nama'=> $value['namaBarang'], 'satuan'=> $value['satuanBarang'], 'harga'=> $value['hargaBarang'], 'stok'=> $value['stokBarang'] ); } return $return_value; } ///////////////////////// $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''; $server->service($HTTP_RAW_POST_DATA); ?> Dan jika script server tersebut sudah berhasil maka akan dapat langsung di akses dan menghasilkan tampilan seperti ini: Output wsdl web service Output respone xml web service
Client: Sekarang kita masuk ke klien untuk menampilkan data Copy kan juga library nusoap yang kita letakkan di dalam folder server tadi ke folder WS (di luar bukan di server), karena script client ini juga membutuhkan fungsi library yang ada pada nusoap. 1. Buat script untuk client dengan nama client.php (bisa juga yang lain), Kemudian isi file tersebut seperti ini: getError(); if ($err) { echo '
Penjelasan: |