最新消息:欢迎加入小松的QQ群一起讨论一起学习,搜索页面修改成lua+ElasticSearch,使用php这个页面速度相对慢一点,优化之后速度杠杠的,如有问题请加群联系我

php webservice使用实例

PHP 1242浏览 0评论

什么是webservice?我的理解的是接收和响应外部系统的某种请求,从而实现远程调用.
我是做php的,你是java的,他是做.net,如果我们三个之间要进行通信,要怎么办呢?于是就出现了SOAP
SOAP是webservice技术的一中,使用XML消息调用远程方法,这样web services可以通过HTTP协议的post和get方法与远程机器交互,而且,SOAP更加健壮和灵活易用;
下面讲的就是php通过SOAP实现webservice的使用实例
在使用之前要打开soap的php的扩展,即extension=php_soap.dll;

php开启soap
测试服务器
server服务端ip:192.168.128.128
client客户端ip:192.168.128.2

SOAP调用方法
server:
新建serverSoap.php,保存如下内容

<?php
$soap = new SoapServer(null,array('uri'=>"http://192.168.128.128/",'encoding'=>'utf-8'));//这个的ip是服务端的ip.
$soap->addFunction('test_function'); //添加一个方法
$soap->addFunction(SOAP_FUNCTIONS_ALL);
$soap->handle();

function test_function($i, $j){
$res = $i - $j;
return $res;
}

client:
新建一个clientSoap.php,保存内容如下

<?php
try {
$client = new SoapClient(null,
array('location' =>"http://192.168.128.128/serverSoap.php",'uri' => "http://localhost/",'trace'=>true)
);
echo $client->test_function(100,99);

} catch (SoapFault $fault){
echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring;
}

注意:如果返回中文字串,最好使用utf-8编码.
页面上输出1就成功了

SOAP调用类
server:

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

class chesterClass {
public $name = 'test';

function getName() {
return $this->name;
}
}

client:

<?php
try {
$client = new SoapClient(null,
array('location' =>"http://192.168.128.128/serverSoap.php",'uri' => "http://localhost/")
);
echo $client->getName();

} catch (SoapFault $fault){
echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring;
}

页面上输出test就成功了

本人亲测,如果有问题请留言

QQ交流群:136351212(满) 455721967

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» php webservice使用实例
本文链接地址:https://www.phpsong.com/641.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!