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的功能/负载/符合性测试。

896608-20161222173420886-1911347740.png


三、使用方法

1.建立SOAP

使用SoapUi:

896608-20161222172049307-114567690.png

使用php:


    $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:

896608-20161222172950776-359179125.png

使用php:


    //调用接口
    $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;
}

转载于:https://www.cnblogs.com/xjnotxj/p/6212143.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值