现在的位置: 首页 > 综合 > 正文

php webservice实例(简单易懂)

2018年05月27日 ⁄ 综合 ⁄ 共 1374字 ⁄ 字号 评论关闭
首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例
子,webservice还是逃不开server端与client端。

我测试的环境为:apache2.2.11 php5.2.10

做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;
OK 现在我们来体验webservice

//server端
serverSoap.php

$soap
=
new
SoapServer
(null
,
array
('uri'
=>
"http://192.168.1.179/"
));//This uri is
your SERVER ip.


$soap
->
addFunction
('minus_func'
);                                                
//Register
the function


$soap
->
addFunction
(SOAP_FUNCTIONS_ALL
);
$soap
->
handle
();

function
minus_func
($i
,
$j
){

    $res
=
$i
-
$j
;
    return
$res
;
}

//client端
clientSoap.php

try
{

    $client
=
new
SoapClient
(null
,

        array
('location'
=>
"http://192.168.1.179/test/serverSoap.php"
,
'uri'
=>
"http://127.0.0.1/"
)
    );
    echo
$client
->
minus_func
(100
,
99
);

}
catch
(SoapFault
$fault
){

    echo
"Error: "
,
$fault
->
faultcode
,
", string: "
,
$fault
->
faultstring
;
}

这是客户端调用服务器端函数的例子,我们再搞个class的。

//server端
serverSoap.php


$classExample
=
array
();

$soap
=
new
SoapServer
(null
,
array
('uri'
=>
"http://192.168.1.179/"
,
'classExample'
=>
$classExample
));
$soap
->
setClass
('chesterClass'
);
$soap
->
handle
();

class
chesterClass
{

    public
$name
=
'Chester'
;

    function
getName
() {

        return
$this
->
name
;
    }

}

//client端
clientSoap.php

try
{

    $client
=
new
SoapClient
(null
,

        array
('location'
=>
"http://192.168.1.179/test/serverSoap.php"
,
'uri'
=>
"http://127.0.0.1/"
)
    );
    echo
$client
->
getName
();

}
catch
(SoapFault
$fault
){

    echo
"Error: "
,
$fault
->
faultcode
,
", string: "
,
$fault
->
faultstring
;
}

以上代码我已经测试通过。

【上篇】
【下篇】

抱歉!评论已关闭.