Saya ingin mengambil data dari server yang menggunakan WSDL dengan menggunakan SOAP CLIENT di PHP. Untuk DOC penggunaan API nya telah disediakan oleh penyedia server.
Deskripsi Pekerjaan :
- Memperbaiki kode sederhana yang telah kami buat untuk mengambil data dari server wsdl. Namun masih error pada bagian soap call.
Yang bisa mohon cantumkan no hp / wa nanti saya telp untuk lebih jelasnya.
Harga? Open Sugesstions
Web Programming PHP
Published Budget: Open to Suggestions
Finish Days: 7
Published Date: 20/02/2016 17:17:45 WIB
Start Date: 20/02/2016 23:35:47 WIB
Finish Date:
22/02/2016 18:13:21 WIB
Project Status: Closed
Accepted Worker: Webster (Webster)
Accepted Budget: Rp 200,000
Project Ending: Completed
Project Owner
Rated Worker: 10.00/10.00
layanan bagus dan memuaskan.
Accepted Worker
Rated Owner: 10.00/10.00
Kerja sama yang menyengkan mas.
Ditunggu lagi ya kerja samanya :)
Recommended Workers
Recommended Services
Open Projects
Owner: kazaa3000
Budget: Rp 5,000,000 - 10,000,000
Owner: Ontrue
Budget: Rp 750,000 - 1,000,000
Owner: Shiin79
Budget: Rp 1,000,000 - 2,000,000
Owner: Nelwan18
Budget: Rp
200,000 - 400,000
Owner: qudrat.nurfajar
Budget: Rp 5,000,000 - 8,000,000
Mengambil data Fingerprint Absen dengan SOAP PHP
Kali ini akan membahas menarik absen dengan code PHP SOAP :
1. Buatlah database untuk menampung data di localhost phpmyadmin dengan fild sebagai berikut :
2. Buat Koneksi pada code php config.php
<?php
//variabel database
$nama_host="localhost";
$user_db="root";
$password_db="";
$nama_db="penggajian";
//koneksi database
$koneksi= mysql_connect($nama_host, $user_db, $password_db);
//bila terkoneksi
if($koneksi){
//pilih database
mysql_select_db($nama_db);
}else{
echo "Database tidak terkoneksi";
}
?>
3. Untuk mengambil data dari absen, IP di ubah terlebih dahulu sesuai dengan mesin. masukkan code berikut untuk mengambil data absen dan menyimpan kedalam database. Simpan file kedalam index.php
<?php
include("config.php");
$IP="192.168.1.2";
$Key="0";
if($IP=="") $IP="192.168.1.2";
if($Key=="") $Key="0";
$Connect = fsockopen($IP, "80", $errno, $errstr, 1);
if($Connect){
$soap_request="<GetAttLog>
<ArgComKey xsi:type=\"xsd:integer\">".$Key."</ArgComKey>
<Arg><PIN xsi:type=\"xsd:integer\">All</PIN></Arg>
</GetAttLog>";
$newLine="\r\n";
fputs($Connect, "POST /iWsService HTTP/1.0".$newLine);
fputs($Connect, "Content-Type: text/xml".$newLine);
fputs($Connect, "Content-Length: ".strlen($soap_request).$newLine.$newLine);
fputs($Connect, $soap_request.$newLine);
$buffer="";
while($Response=fgets($Connect, 1024)){
$buffer=$buffer.$Response;
}
}else echo "Koneksi
Gagal";
$buffer=Parse_Data($buffer,"<GetAttLogResponse>","</GetAttLogResponse>");
$buffer=explode("\r\n",$buffer);
for($a=0;$a<count($buffer);$a++){
$data=Parse_Data($buffer[$a],"<Row>","</Row>");
$pin=Parse_Data($data,"<PIN>","</PIN>");
$datetime=Parse_Data($data,"<DateTime>","</DateTime>");
$status=Parse_Data($data,"<Status>","</Status>");
$cekdulu= "select * from absen where pin='$pin' and waktu='$datetime' ";
$prosescek= mysql_query($cekdulu);
if (mysql_num_rows($prosescek)>0) { //proses mengingatkan data sudah ada
// echo "<script>alert('Username Sudah Digunakan');history.go(-1) </script>";
}
else { //proses
menambahkan data, tambahkan sesuai dengan yang kalian gunakan
$sql = "INSERT INTO absen (pin, waktu, status) values ('$pin','$datetime','$status')";
mysql_query($sql) or exit(mysql_error());
}
ini_set('max_execution_time', 300);
}
echo "<script>alert('Sudah Selesai'); </script>";
function Parse_Data ($data,$p1,$p2) {
$data = " ".$data;
$hasil
= "";
$awal = strpos($data,$p1);
if ($awal != "") {
$akhir = strpos(strstr($data,$p1),$p2);
if ($akhir != ""){
$hasil=substr($data,$awal+strlen($p1),$akhir-strlen($p1));
}
}
return $hasil;
}
?>
Demikian Penjelasan untuk pengambilan data absen. Silakan Berikan komentar jika ada pertanyaan. Terima Kasih
untuk kendala akses mesin, dapat mencoba panduan berikut : //apriliantiputri.blogspot.com/2021/02/tes-mesin-presensi-dengan-zklib.html