Hướng dẫn soap web service php example - ví dụ về dịch vụ web xà phòng php

Ở đây tôi sẽ chỉ cho bạn cách tiêu thụ dịch vụ web xà phòng theo PHP theo 3 cách. Để tiêu thụ dịch vụ web xà phòng, bạn phải có một dịch vụ web xà phòng được triển khai trên máy chủ. Ở đây tôi sẽ tiêu thụ hoặc gọi dịch vụ SOAP đã sẵn sàng trên Internet. Tôi đang gọi celsiustofahrenheit chuyển đổi nhiệt độ từ Celsius thành Fahrenheit.CelsiusToFahrenheit which converts temperature from celsius to fahrenheit.

Bạn cũng có thể tạo dịch vụ của riêng bạn và viết một ứng dụng khách xà phòng để tiêu thụ dịch vụ. Phương pháp tiêu thụ tương tự như những gì tôi sẽ cho bạn thấy ở đây. WSDL có sẵn tại liên kết https://www.w3schools.com/xml/tempconvert.asmx?wsdl.

Bài viết liên quan:

  • Tạo và tiêu thụ dịch vụ web xà phòng bằng PHP

Điều kiện tiên quyết

Apache HTTP Server 2.4, Php 7.4.3, Thư viện NUSOAP, Curl

Định cấu hình xà phòng PHP

Tiêu thụ dịch vụ xà phòng

Tôi sẽ chỉ cho bạn ở đây 3 cách gọi hoặc tiêu thụ dịch vụ web xà phòng khác nhau. Phương pháp đầu tiên là sử dụng SoapClient, phương pháp thứ hai là sử dụng thư viện NUSOAP và phương pháp thứ ba là sử dụng Curl.

Sử dụng xà phòng

Sử dụng xà phòng, bạn không cần sử dụng bất kỳ thư viện của bên thứ ba nào vì SOAPClient đã có sẵn trong động cơ PHP.

Mã PHP sau đây sử dụng SoapClient gọi phương pháp chuyển đổi Celsius sang Fahrenheit và sẽ cung cấp cho bạn nhiệt độ trong Fahrenheit cho đầu vào đã cho ở Celsius.

$wsdl   = 'https://www.w3schools.com/xml/tempconvert.asmx?WSDL';
$client = new SoapClient($wsdl, array('trace'=>1));  // The trace param will show you errors

$input_celsius = 36;
// web service input param
$request_param = array(
    'Celsius' => $input_celsius
);

try {
    $responce_param = $client->CelsiusToFahrenheit($request_param);
	echo $input_celsius . ' Celsius => ' . $responce_param->CelsiusToFahrenheitResult . ' Fahrenheit';
} catch (Exception $e) { 
    echo "

Exception Error

"; echo $e->getMessage(); }

Sử dụng Nusoap

Đây là thư viện của bên thứ ba và sử dụng nó, bạn có thể tiêu thụ dịch vụ xà phòng. Thư viện được vận chuyển với mã nguồn cho ví dụ này và bạn có thể tải xuống từ cuối hướng dẫn này trong phần mã nguồn.

require_once('lib/nusoap.php');

$wsdl   = "https://www.w3schools.com/xml/tempconvert.asmx?WSDL";
$client = new nusoap_client($wsdl, 'wsdl');

$action = "CelsiusToFahrenheit"; // webservice method name

$result = array();

$input_celsius = 36;
$input = '' . $input_celsius . '';

if (isset($action))
{
    $result['response'] = $client->call($action, $input);
}

//echo $result['response']['CelsiusToFahrenheitResult'];
echo $input_celsius . ' Celsius => ' . $result['response']['CelsiusToFahrenheitResult'] . ' Fahrenheit';

Sử dụng Curl

Sử dụng lệnh Curl, bạn cũng có thể gọi dịch vụ SOAP như trong ví dụ sau.

Trong thông báo ví dụ sau, tôi chỉ sử dụng URL dịch vụ web thay vì URL WSDL nhưng trong hai ví dụ trên tôi đã sử dụng URL WSDL.

$webservice_url = "https://www.w3schools.com/xml/tempconvert.asmx";

$input_celsius = 36;

$request_param = '

  
    
      ' . $input_celsius . '
    
  
';

$headers = array(
    'Content-Type: text/xml; charset=utf-8',
    'Content-Length: '.strlen($request_param)
);

$ch = curl_init($webservice_url);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $request_param);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$data = curl_exec ($ch);

$result = $data;

if ($result === FALSE) {
    printf("CURL error (#%d): %s
\n", curl_errno($ch), htmlspecialchars(curl_error($ch))); } curl_close ($ch); echo $input_celsius . ' Celsius => ' . $data . ' Fahrenheit';

Kiểm tra ứng dụng

Đảm bảo rằng máy chủ HTTP Apache của bạn đang hoạt động. Bây giờ bạn có thể thực thi bất kỳ mã nào trên và cho mỗi ví dụ, bạn sẽ thấy ví dụ sau trên trình duyệt.

Hướng dẫn soap web service php example - ví dụ về dịch vụ web xà phòng php

Đó là tất cả, hy vọng bạn có một ý tưởng về cách gọi hoặc tiêu thụ dịch vụ web xà phòng bằng ngôn ngữ lập trình PHP.

Mã nguồn

Tải xuống