调用第三方短信提供商的WebService接口。php
WebService
三要素:SOAP
(Simple Object Access Protocol) 用来描述传递信息的格式html
WSDL
(Web Services Description Language) 用来描述如何访问具体的接口web
UDDI
(Universal Description Discovery and Integration) 用来管理,分发,查询WebService工具
SoapUi
SoapUI是一个开源测试工具,经过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。测试
使用SoapUi:ui
使用php:code
$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, ) ) ) ) );
使用SoapUi:htm
使用php:blog
//调用接口 $parm = array('mobile' => ‘136XXXXXX’, 'mmsid' => 'XXX', 'sToken' => 'XXX'); $result = $client->SendPersonMMS($parm); //获取返回值 $result = get_object_vars($result); echo $result["SendPersonMMSResult"];
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; }