日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

[PHP]php发布和调用Webservice接口的案例

發(fā)布時間:2025/5/22 php 133 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [PHP]php发布和调用Webservice接口的案例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

分兩步走:1.服務(wù)端發(fā)布接口;2.客戶端調(diào)用方法

1.服務(wù)端發(fā)布接口:

需要nusoap工具,下載地址:http://sourceforge.net/projects/nusoap/

下載完和要發(fā)布接口的php文件放在同一目錄下。

服務(wù)端發(fā)布接口soapserver.php例子:

<?php
require_once('./lib/nusoap.php');
$soap = new soap_server;

$soap->soap_defencoding = 'UTF-8';
$soap->decode_utf8 = false;
$soap->xml_encoding = 'UTF-8';
$soap->configureWSDL('reverse','add2numbers');
//$server->configureWSDL('add2numbers');

$soap->register('reverse',
array('str' => 'xsd:string'),
array('return' => 'xsd:string')
);
$soap->register('add2numbers',
array('num1' => 'xsd:int','num2' => 'xsd:int'),
array('return' => 'xsd:int')
);

//Check variable set?
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA)? $HTTP_RAW_POST_DATA:'';

//service handle the client data
$soap->service($HTTP_RAW_POST_DATA);
//echo $server;
/*
* RPC function
* @param $name
*/
function reverse($str){
$retval = "";
if(strlen($str) < 1) {
return new soap_fault('Client','','Invalid string');
}
for ($i = 1; $i <= strlen($str); $i++) {
$retval .= $str[(strlen($str) - $i)];
}
return $retval;
}

function add2numbers($num1, $num2) {
if (trim($num1) != intval($num1)) {
return new soap_fault('Client', '', 'The first number is invalid');
}
if (trim($num2) != intval($num2)) {
return new soap_fault('Client', '', 'The second number is invalid');
}
return ($num1 + $num2);
}
?>

發(fā)布的結(jié)果截圖:

?

?wsdl的說明截圖:

?

2.客戶端調(diào)用接口:

調(diào)用接口soapclient.php例子:

<?php
require_once "./lib/nusoap.php";

$client = new nusoap_client("http://192.168.119.21/soapserver.php");
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
$client->xml_encoding = 'UTF-8';

$str = "This string will be reversed";
$params1 = array('str'=>$str);
$reversed = $client->call('reverse',$params1);
echo "If you reverse '$str', you get '$reversed'<br>\n";

$n1 = 5;
$n2 = 14;
$params2 = array('num1'=>$n1, 'num2'=>$n2);
$added = $client->call('add2numbers', $params2);
echo "If you add $n1 and $n2 you get $added<br>\n";
?>

調(diào)用后結(jié)果:

轉(zhuǎn)載于:https://www.cnblogs.com/liangxuehui/p/4606935.html

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的[PHP]php发布和调用Webservice接口的案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。