php中调用WebService接口

一、背景

调用第三方短信提供商的WebService接口。


二、介绍

1.WebService三要素:#

SOAP(Simple Object Access Protocol) 用来描述传递信息的格式

WSDL(Web Services Description Language) 用来描述如何访问具体的接口

UDDI(Universal Description Discovery and Integration) 用来管理,分发,查询WebService

2.SoapUi#

SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。

2021-04-06-22-34-27


三、使用方法

1.建立SOAP

使用SoapUi:

2021-04-06-22-34-33

使用php:

Copy
$client = new SoapClient("http://XXX/webservice/mmsservice.asmx?wsdl", array( "stream_context" => stream_context_create( array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, ) ) ) ) );

2.调用接口 and 获取返回值

使用SoapUi:

2021-04-06-22-34-44

使用php:

Copy
//调用接口 $parm = array('mobile' => ‘136XXXXXX’, 'mmsid' => 'XXX', 'sToken' => 'XXX'); $result = $client->SendPersonMMS($parm); //获取返回值 $result = get_object_vars($result); echo $result["SendPersonMMSResult"];

四、总体代码

Copy
header("content-type:text/html;charset=utf-8"); try { //解决OpenSSL Error问题需要加第二个array参数,具体参考 http://stackoverflow.com/questions/25142227/unable-to-connect-to-wsdl $client = new SoapClient("http://XXX/webservice/mmsservice.asmx?wsdl", array( "stream_context" => stream_context_create( array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, ) ) ) ) ); //print_r($client->__getFunctions()); //print_r($client->__getTypes()); $parm = array('mobile' => ‘136XXXXXX’, 'mmsid' => 'XXX', 'sToken' => 'XXX'); $result = $client->SendPersonMMS($parm); //print_r($result); //将stdclass object的$result转换为array $result = get_object_vars($result); //输出结果 echo $result["SendPersonMMSResult"]; } catch (SOAPFault $e) { print $e; }
posted @   小蒋不素小蒋  阅读(33543)  评论(4编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具

ICP证:沪ICP备20014317号

点击右上角即可分享
微信分享提示
CONTENTS