CentOS SOAP扩展模块触发Service端执行相应的操作
CentOS SOAP对于电脑使用的玩家的常用软件,然后我就学习及深入的研究CentOS SOAP,在这里和大家一起探讨CentOS SOAP的使用方法,希望对大家有用。从PHP5开始内置CentOS SOAP扩展模块,通过它,我们可以方便的向Service发送一个CentOS SOAP消息,从而触发Service端执行相应的操作,并将结果返回;
首先,要确保安装了CentOS SOAP扩展,没有安装的表现是,当运行使用了soapclient的代码时候会有php error Class ‘SoapClient’ not found的错误;这时候应该安装php-soap,在CentOS SOAP上可以方便的使用yum更新安装包>yum install php-soap更新过这些安装包后,需要重新启动一下apache服务,此后SoapClient类就可以用在php script中了下边是使用过程中的一个范例:
- <?php
- $client = new SoapClient("some.wsdl");
- $client->SomeFunction($a, $b, $c);
- $arr= $client->__soapCall("SomeFunction", array($a, $b, $c));
- print_r($arr);
- ?>
1.in WSDL mode,soapCall应用web service,例子用的是asp.net的web service,提供service.asmx页面,调用及查看都比较简单,手册上的example也大多是这个类型,比较简单
CentOS SOAP发送的协议:
- POST /servicepath/service.asmx HTTP/1.1
- Host: 211.186.1.4
- Content-Type: text/xml; charset=utf-8
- Content-Length: length
- SOAPAction: "http://211.186.5.15/Service/ServiceMethod"
- <?xml version="1.0" encoding="utf-8"?>
- <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
- <soap:Body>
- <ServiceMethod xmlns="http://211.186.5.15/Service">
- <param1>string</param1>
- <param2>string</param2>
- <param3>string</param3>
- </ServiceMethod>
- </soap:Body>
- </soap:Envelope>
调用方法:
- $client = new SoapClient("http://www.xxx.com/service/service.asmx?WSDL");
- //向SOAP服务方发送参数值
- $param1 = "p1";
- $param2 = "p2";
- $param3 = "p3";
//serviceParam1,serviceParam2,serviceParam3为发送参数值所对应的参数名(或service端提供的字段名) $param = array('serviceParam1' => $param1,'serviceParam2' => $param2,'serviceParam3' => $param3);
//方法名为ServiceMethod,参数数组为$param,默认以parameters字段标示传递的参数数组 $arr = $client->__soapCall('ServiceMethod',array('parameters' => $param)); print_r($arr);
此处,print_r($arr)打印出来的是一个对象,类似于
- stdClass Object
- ( [BindValidateResult] => 01062947546 )
经过我多次的尝试,发现使用$arr[1],$arr[0],$arr[BindValidateResult]均不能取得有效值;后来查询到通过$arr->BindValidateResult可以访问到返回值;
【编辑推荐】
- CentOS Nginx服务器配置nginx.conf
- CentOS VM主机支持RedHat AS3/AS4/AS5Linux操作系统
- CentOS yum仓库使用 ISO 文件制作
- CentOS系统CPU过热处理的解决方法
- CentOS bonding技术使用奇怪的拓扑结果
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /news/detail/tanhcakbhc
-
2023 年度 A 类学科竞赛项目清单
那个人有梦想 09-16 -
从《银行业金融机构数据治理指引》监管要求看商业银行数据能力建设
51CTO 09-21 -
爱思唯尔的ESWA——模板、投稿、返修、接收的
老板来碗小面加蛋~ 09-16 -
国航天科技集团公司的各个研究院
知识在于积累 09-17 -
全球WIFI功率信号最强的国家清单,无线WIFI调优
Cisco_VIP 09-17 -
AI绘画Midjourney的咒语关键词汇
毕设小程序软件程序猿 09-17 -
ChatGPT注册流程攻略,含验证码接收
PHP中文网 05-29 -
创作者身份认证申请规则和审核标准
CSDN官方博客 09-16 -
的10 个顶尖的国内外设计网站
四喜圆子- 09-16 -
OBS做绿幕直播滤镜实现去掉绿色背景
视频砖家 09-16