[:en]Tutorial NuSoap – SOAP Toolkit for PHP[:]


[:en]

Nulis ini gara-gara nemu arsip tutorial tahun 2010 dari web obilog.info yang dulu lupa tidak di perpanjang dan akhirnya mati. Tutorial tentang NuSOAP gara-gara baru pertama kali ngajar mengenai Web Service di kampus dahulu kala (2010). NuSOAP adalah librari / class PHP yang memungkinkan pengembang untuk membuat dan menggunakan SOAP web service. Ini tidak memerlukan ekstensi PHP khusus.

Versi saat saya membuat tutorial ini adalah versi 0.6.7 dari NuSOAP pada saat ini ditulis (03-November-2004), mendukung banyak SOAP 1.1. Hal ini dapat menghasilkan WSDL 1.1 dan juga menggunakannya dalam serialisasi. NuSOAP adalah penulisan ulang dari SOAPx4, yang disediakan oleh NuSphere dan Dietrich Ayala. NuSOAP memungkinkan membuat dan menggunakan web service berdasarkan SOAP 1.1, WSDL 1.1 dan HTTP 1.0 / 1.1.

Berikut ini contoh penggunaan NuSOAP dengan penyedia service menggunakan java dan client menggunakan PHP. Dari contoh sederhana ini mudah-mudahan dapat memancing untuk mencoba yang lebih kompleks lagi dengan NuSOAP.

For Download Nu SOAP

Docs File : http://sourceforge.net/projects/nusoap/files/nusoap-docs/0.9.5/nusoap-docs-0.9.5.zip/download

Lib File : http://sourceforge.net/projects/nusoap/files/nusoap/0.9.5/nusoap-0.9.5.zip/download

 

Server Script (calc.java) :

package org.com.calc;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
/**
*
* @author obiesan
*/
@WebService(name = "contohcalc", serviceName="calc", targetNamespace="urn:urlcalc")
public class calc {
@WebMethod(operationName = "cekkoneksi", action="urn:urlcalc#cekkoneksi")
public String cekkoneksi()
{
//TODO write your implementation code here:
return ("Nyambung nih");
}
@WebMethod(operationName = "tambah", action="urn:urlcalc#tambah")
public double tambah(@WebParam(name = "nilx")
double nilx, @WebParam(name = "nily")
double nily) {
//TODO write your implementation code here:
return (nilx+nily);
}
@WebMethod(operationName = "kurang", action="urn:urlcalc#kurang")
public double kurang(@WebParam(name = "nilx")
double nilx, @WebParam(name = "nily")
double nily) {
//TODO write your implementation code here:
return (nilx-nily);
}
@WebMethod(operationName = "bagi", action="urn:urlcalc#bagi")
public double bagi(@WebParam(name = "nilx")
double nilx, @WebParam(name = "nily")
double nily) {
//TODO write your implementation code here:
return (nilx/nily);
}
@WebMethod(operationName = "kali", action="urn:urlcalc#kali")
public double kali(@WebParam(name = "nilx")
double nilx, @WebParam(name = "nily")
double nily) {
//TODO write your implementation code here:
return (nilx*nily);
}
}

 

Client Script :

<?php
if(isset($_POST["submit"])){
 $param1=$_POST['param1'];
 $param2=$_POST['param2'];
 if(!is_string(array($param1,$param2))){
 require("lib/nusoap.php");
 //lihat alamat wsdlnya ubah localhost menjadi 127.0.0.1 dengan $namespacenya
 $url = "http://127.0.0.1:10328/contoh/calc";
 $namespace="urn:urlcalc";
 $client = new nusoap_client($url);
 //cek koneksi dulu
 $cek = $client->call("cekkoneksi","",$namespace);
 //inisial parameter
 $parameter = array("nilx"=>$param1,"nily"=>$param2);
 if($cek!=""){
 echo "<h3>Inputan kamu parameter 1 : ".$param1." dan parameter 2 : ".$param2."</h3><br>";
 echo $cek."<br><br>";
 //kata tambah, kurang, bagi, kali di dalam call itu merupakan nama operationname lihat di javanya
 //parameter disesuaikan dengan parameter di masing2 method di java
 $tambah = $client->call("tambah",$parameter, $namespace);
 $kurang = $client->call("kurang",$parameter, $namespace);
 $kali = $client->call("kali",$parameter, $namespace);
 $bagi = $client->call("bagi",$parameter, $namespace);
 echo "Hasil tambah : ".$tambah."<br>";
 echo "Hasil kurang : ".$kurang."<br>";
 echo "Hasil kali : ".$kali."<br>";
 echo "Hasil bagi : ".$bagi."<br>";
 }else
 echo "koneksi gagal";
 $er = $client->getError();
 if($er){
 echo "<h2>Error with soapclient creation : </h2>".$er."";
 }
 }
 echo "<br><br><hr><br>";
}
?>
<form action="" method="POST">
 Parameter 1 : <input type="text" name="param1" value="masukkan nilai x" size="20" onclick="this.form.param1.value=''"><br>
 Parameter 2 : <input type="text" name="param2" value="masukkan nilai y" size="20" onclick="this.form.param2.value=''"><br>
 <input type="submit" value="hitung" name="submit">
</form>

 [:]


Leave a Reply