返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中soap指的是什么意思
  • 713
分享到

php中soap指的是什么意思

2023-06-25 15:06:06 713人浏览 八月长安
摘要

这篇文章给大家分享的是有关PHP中soap指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。soap是基于XML和Http通信协议,在php中使用soap的方法是添加一下php的soap模块,也就是在p

这篇文章给大家分享的是有关PHP中soap指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

soap是基于XML和Http通信协议,在php中使用soap的方法是添加一下php的soap模块,也就是在php.ini里面加上“soap.so”即可。

一、php soap是什么意思?什么是wsdl,为什么要用他们?

SOAP是基于XML和HTTP通信协议,xml各种平台,各种语言都支持的一个种语言。http呢它得到了所有的因特网浏览器及服务器的支持。

WSDL 指网络服务描述语言 (WEB Services Description Language),是一种使用 XML 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置,以及此服务提供的操作。

我是做php的,你是java的,他是做.net,如果我们三个之间要进行通信,要进行数据交换,怎么办呢?我们需要一个能和我们都能通信的工具。soap,wsdl被创造出来,使得运行在不同的操作系统并使用不同的技术和编程语言的应用程序可以互相进行通信。

二、实例

如果php要使用soap的话,通常做法是,添加了一下php的soap模块,在php.ini里面加上soap.so,下面介绍一个不要添加soap.so文件,也可以实现soa

//包函nusoap.phprequire_once('./lib/nusoap.php');//创建服务端$server=newsoap_server;//定义客户端调用方法$server->reGISter('hello');//调用方法以及参数functionhello($name) {return'Hello, '.$name;}$HTTP_RAW_POST_DATA= isset($HTTP_RAW_POST_DATA) ?$HTTP_RAW_POST_DATA:'';$server->service($HTTP_RAW_POST_DATA);?>

p的方法

nusoap是php写的一个功能文件,包涵进来就可以用了,网上很多自己去搜一下吧。

不使用wsdl

a、服务端helloworld2.php

b、客户端hello.php

//包函nusoap.phprequire_once('./lib/nusoap.php');//新建一个soap客户端,调用服务端提供的wsdl//$client = new soapclient('http://localhost/test/hellowsdl2.php?wsdl', true);$client=newsoapclient('http://localhost/test/helloworld2.php');//查看一下是不是报错$err=$client->getError();if($err) {//显示错误echo'Constructor error'.$err.'';}//调用服务端的方法$result=$client->call('hello',array('person'=>"this is a test"));echo'Result';print_r($result);echo'';?>

使用wsld

a、服务器

//包函nusoap.phprequire_once('./lib/nusoap.php');//新建一个soap服务$server=newsoap_server();//初始化支持wsdl$server->configureWSDL('hellowsdl2','urn:hellowsdl2');//定义数据结构来接收数据$server->wsdl->addComplexType('Person','complexType','struct','all','',array('firstname'=>array('name'=>'firstname','type'=>'xsd:string'),//后面的type定义数据的类型,这个是string'age'=>array('name'=>'age','type'=>'xsd:int'),//后面的type定义数据的类型,这个是int'gender'=>array('name'=>'gender','type'=>'xsd:string')//后面的type定义数据的类型,这个是string));$server->wsdl->addComplexType('SweepstakesGreeting','complexType','struct','all','',array('greeting'=>array('name'=>'greeting','type'=>'xsd:string'),'winner'=>array('name'=>'winner','type'=>'xsd:string')));//服务器定义的soap调用方法$server->register('hello',// 方法名字hello,方法就在下面array('person'=>'tns:Person'),// 客户端传来的变量array('return'=>'tns:SweepstakesGreeting'),//返回参数'urn:hellowsdl2',// soap名'urn:hellowsdl2#hello',// soap的方法名'rpc',// 使用的方式'encoded',// 编码'test'// 存档);//定义上面注册过的函数hellofunctionhello($person) {$greeting='Hello, '.$person['firstname'].'. It is nice to meet a '.$person['age'].' year old '.$person['gender'].'.';$winner='Scott';//要返回的数据returnarray('greeting'=>$greeting,'winner'=>$winner);}// 请求时(试图)调用服务$HTTP_RAW_POST_DATA= isset($HTTP_RAW_POST_DATA) ?$HTTP_RAW_POST_DATA:'';$server->service($HTTP_RAW_POST_DATA);?>

b、客户端

//包函nusoap.phprequire_once('./lib/nusoap.php');//新建一个soap客户端,调用服务端提供的wsdl//$client = new soapclient('http://localhost/test/hellowsdl2.php?wsdl', true);$client = new soapclient('http://localhost/test/helloworld2.php');//查看一下是不是报错$err = $client->getError();if ($err) {//显示错误echo 'Constructor error' . $err . '';}//要向服务端要传的参数$person = array('firstname' => 'Willi', 'age' => 22, 'gender' => 'male');//调用服务端的方法$result = $client->call('hello', array('person' => $person));//错误审核if ($client->fault) {echo 'Fault';print_r($result);echo '';} else {$err = $client->getError();if ($err) {echo 'Error' . $err . '';} else {echo 'Result';print_r($result);echo '';}}//显示请求信息echo 'Request';echo '' . htmlspecialchars($client->request, ENT_QUOTES) . '';//显示返回信息echo 'Response';echo '' . htmlspecialchars($client->response, ENT_QUOTES) . '';//显示调试信息echo 'Debug';echo '' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '';?>

上面二个例子不管是客户端,还是服务器端,都是用php写的,你可以试着用多种语言来写,来测试一下。不管你是用php的模块,还是用nusoap,里面具体方法就不在这多说了,手册里面都有。

SOAP在这里就不用介绍了,  这里只是简单的实现一个SOAP的实例, 不多说 ,看代码吧。 soap分为server和client, 我们要使client去调用server的代码. 首先看server短的代码:

这个是server端的代码: server.php

<?php     //声明一个函数add() ,并返回它的值        function add($a,$b){        return $a+$b;        }    //实例化一个SoapServer对象, 并将add函数注册成为其方法        $server = new SoapServer(null,array('uri'=>'http://localhost/')); //指定server端代码的URI(资源标志符)        $server->addFunction("add");        $server->handle();?>

然后使用client端的代码来调用server端的代码: client的代码也很简单: 如下:

这个是client端的代码 client.php

<?php     //建立一个参数数组,存储要访问的提供soap服务的计算机的地址与程序        $arrOptions=array(            'uri'=>'http://localhost/',            'location'=>'http://localhost/soap/server.php',  //注意: 这个location指定的是server端代码在服务器中的具体位置, 我的是在本地根目录下的soap目录中,            'trace'=>true,        );        $soapObject = new SoapClient(null,$arrOptions); //实例化客户端对象        echo $soapObject->add(20,30); //调用服务器端的函数add并返回值50?>

ok, 结束了 !

感谢各位的阅读!关于“php中soap指的是什么意思”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: php中soap指的是什么意思

本文链接: https://lsjlt.com/news/305915.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php中soap指的是什么意思
    这篇文章给大家分享的是有关php中soap指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。soap是基于XML和HTTP通信协议,在php中使用soap的方法是添加一下php的soap模块,也就是在p...
    99+
    2023-06-25
  • php soap是什么意思
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑一、php soap是什么意思?什么是wsdl,为什么要用他们SOAP是基于XML和HTTP通信协议,xml各种平台,各种语言都支持的一个种语言。http呢它得到了所有的...
    99+
    2015-04-05
    soap php
  • php中=指的是什么意思
    小编给大家分享一下php中=指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中=符号是PHP中的基础赋值运算符,赋值形式如“z=x+y”,这意味...
    99+
    2023-06-21
  • php中.=指的是什么意思
    这篇文章主要为大家展示了“php中.=指的是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php中.=指的是什么意思”这篇文章吧。php中“.=”表示赋值运算符,是字符串连接的意思,该运...
    99+
    2023-06-25
  • php中.= 指的是什么意思
    小编给大家分享一下php中.= 指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!.=在php中是一种赋值运算符,用于连接两个字符串,比如表达式“a ....
    99+
    2023-06-26
  • php中header指的是什么意思
    这篇“php中header指的是什么意思”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“php中header指的是什么意思”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来...
    99+
    2023-06-06
  • php中isset指的是什么意思
    这篇文章给大家分享的是有关php中isset指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。isset()是PHP中的一个用来检测变量是否声明的内置函数,其返回值为布尔类型。若变量不存在则返回FALS...
    99+
    2023-06-09
  • php中curd指的是什么意思
    这篇文章给大家分享的是有关php中curd指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php curd是操作数据库的专业术语,其意思分别是:1、Create,增加数据;2、update,更新数据;...
    99+
    2023-06-15
  • php中_post指的是什么意思
    小编给大家分享一下php中_post指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中_post是指“$_POST”变量,在PHP中该变量用于收...
    99+
    2023-06-14
  • php中vc11指的是什么意思
    这篇文章给大家分享的是有关php中vc11指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php vc11是指PHP的vc11版本,在用户下载VC11版本前,是需要先安装“VisualC++Redis...
    99+
    2023-06-14
  • php中route指的是什么意思
    这篇“php中route指的是什么意思”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“php中route指的是什么意思”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下...
    99+
    2023-06-14
  • php中session指的是什么意思
    这篇文章主要介绍了php中session指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php中session是用于存储关于用户会话session的信息,或者更改...
    99+
    2023-06-14
  • php中static指的是什么意思
    小编给大家分享一下php中static指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php static是PHP中的一种关键字,使用static关键...
    99+
    2023-06-15
  • php中null指的是什么意思
    小编给大家分享一下php中null指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中null是的意思是“空”,是一个特殊标记通常用于表示一个变量...
    99+
    2023-06-22
  • php中rand指的是什么意思
    这篇文章将为大家详细讲解有关php中rand指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在php中,rand()函数代表生成随机整数的意思,语法为“rand(min,max)”;参数min...
    99+
    2023-06-22
  • PHP中construct指的是什么意思
    这篇文章主要介绍PHP中construct指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PHP中construct是指__construct()函数,该函数用于创建一个新的SimpleXMLElemen...
    99+
    2023-06-22
  • php中trim指的是什么意思
    小编给大家分享一下php中trim指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php的trim是一种内置函数,用来去除字符串首尾处的空白字符或者其...
    99+
    2023-06-22
  • php中fpm指的是什么意思
    小编给大家分享一下php中fpm指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中fpm的意思是PHPFastCGI管理器,而对于PHP5.3....
    99+
    2023-06-15
  • php中fputs指的是什么意思
    小编给大家分享一下php中fputs指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中fputs是一种用于写入文件的函数,而fputs函数是fw...
    99+
    2023-06-21
  • Php中ceil指的是什么意思
    这篇文章给大家分享的是有关Php中ceil指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Php中ceil是PHP中的一个内置函数,用于向上舍入为最接近的整数,其使用语法是“ceil(number);...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作