Yii2中使用Soap WebSerivce
2018-06-22 05:37:19来源:未知 阅读 ()
- Soap是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议
- WebService顾名思义就是web服务,web服务主要有两种,一种是基于soap类型的服务,一种是基于rest类型的服务,其中soap类型的服务有两种版本,一种是soap1.1版本,一种是soap1.2版本,soap服务类型的数据是xml数据格式的,而rest服务的数据类型是json格式的。
- WSDL(网络服务描述语言)是Web Service的描述语言,也就是说wsdl文件是soap的使用说明书
Yii2中使用Soap WebSerivce 非常简单,有人已经提供了相关的扩展可供我们使用,当然也可以自己写,下面就拿别人写好的扩展来说明怎么在yii2中使用soap
注意:能正常使用soap的前提条件是记得打开PHP的soap扩展
1、首先安装soap服务端扩展(SOAP Server Extension)
1 composer require --prefer-dist mongosoft/yii2-soap-server "*"
a、您需要将[[mongosoft \ soapserver \ Action]]添加到你的控制器。
注意:在你的服务类中,可调用的方法必须是包含'@soap'标签的doc注释块的公共方法
1 class ApiController extends Controller 2 { 3 /** 4 * @inheritdoc 5 */ 6 public function actions() 7 { 8 return [ 9 'hello' => 'mongosoft\soapserver\Action', 这样配置之后,就可以通过http://www.myservice.com/api/hello hello即前面的键 10 ]; 11 } 12 13 /** 14 * @param string $name 15 * @return string 16 * @soap #这里必须是包含'@soap'标签的doc注释块,否则生成的wsdl文件中将不会展示这个方法 17 */ 18 public function getHello($name) 19 { 20 return 'Hello ' . $name; 21 } 22 }
b、如果你想禁用SoapService的WSDL模式,可以通过serviceOptions参数来设置
1 /** 2 * @inheritdoc 3 */ 4 public function actions() 5 { 6 return [ 7 'index' => [ 8 'class' => 'mongosoft\soapserver\Action', 9 'serviceOptions' => [ 10 'disableWsdlMode' => true, 11 ] 12 ] 13 ]; 14 }
2、安装soap客户端扩展
1 composer require --prefer-dist mongosoft/yii2-soap-client "*"
a、配置:
1 'components' => [ 2 'siteApi' => [ 3 'class' => 'mongosoft\soapclient\Client', 4 'url' => 'http://myservice.com/api/hello', 5 'options' => [ 6 'cache_wsdl' => WSDL_CACHE_NONE, 7 ], 8 ] 9 ... 10 ]
或者也可以直接在代码中使用:
1 $client = new \mongosoft\soapclient\Client([ 2 'url' => 'http://myservice.com/api/hello', 3 ]);
b、使用
1 $client = Yii::$app->siteApi; 2 echo $client->getHello('Alex');
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 详解php中的implements 使用 2020-03-18
- PHP简单留言本功能实现代码 2020-03-13
- PHP中APC缓存配置及使用详解 2020-03-04
- ThinkPHP分页类使用详解 2020-02-24
- ThinkPHP验证码使用简明教程 2020-02-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash