首页 / php技术

PHP调用WebService接口

2022-11-25 php技术 阅读:2109 admin

WebService是一个提供外部使用的一个服务,使用PHP去调用它其实是很简单的,写一个demo如下:

1、首先你的PHP要支持SOAP

检测PHP是否支持SOAP打印phpinfo(),如下图说明你的PHP支持:

2、PHP代码如下:

<?php

    //WebService接口数据调用

    $soap=new SoapClient('http://api.erdangjiade.com/GLSAPI/RebatesMeWebService.asmx?wsdl');    //这里填写你要调用的URL

    $soap->soap_defencoding = 'utf-8';

    $soap->decode_utf8 = false;

    $soap->xml_encoding = 'utf-8';

    $app_key = 'e1f431ad87f241cea554e6ef23e9023b';

    $app_secret = '5f3b82433ce31441c8e65f5375dc59534';

    $ParamData = array('app_key'=>$app_key,'app_secret'=>$app_secret,'app_token'=>$token);  //调用接口用到的参数

    $ServiceRestCallByHippotigris = $soap->VaicationResult($ParamData);

    // 接口无法访问,页面直接不跳转, 输出错误信息:用户信息同步异常, 错误码: 404

        if (empty($ServiceRestCallByHippotigris)) {

            echo '用户信息同步异常, 错误码: 404';

            exit();

        }else {

            $lists = json_decode($ServiceRestCallByHippotigris->VaicationResultResult, true);//获取到的是JSON格式,所以要json_decode()

            $ClickDataByHippotigris = $lists['ResponseData'][0];

        }

    // 接口返回不是0:页面直接不跳转, 输出错误信息:用户信息同步异常, 错误码: RESPONSE CODE

        $response_code = $lists['ResponseCode'];

        if ($response_code === 0) {

            // 收到正确响应

           $partneruname = $ClickDataByHippotigris['SuCode'];

           $email = $ClickDataByHippotigris['Email'];

           $phone = $ClickDataByHippotigris['Mobile'];

        } else if (!$response_code) { // 返回码为空

            echo "用户信息同步异常,错误码:NUll";

            exit();

        } else {

            echo "用户信息同步异常,错误码:".$response_code;

            exit();

        }

?>

3、祝你好运,希望你也能成功取到数据

//libxml_disable_entity_loader(false);

$soap=new SoapClient('http://121.40.27.72:8888/PublicWebservice.asmx?WSDL');    //这里填写你要调用的URL

$soap->soap_defencoding = 'utf-8';

$soap->decode_utf8 = false;

$soap->xml_encoding = 'utf-8';

$app_key = '61f063dceaaed16eb2c6481564e77f07';

//$app_secret = '5f3b82433ce31441c8e65f5375dc59534';

//  var_dump($soap->__getFunctions());//打印暴露的方法


$ParamData = array('userToken'=>$app_key,'userid'=>'666','newUserPassword'=>'fae0b27c451c728867a567e8c1bb4e53','Date'=>'2018-02-24 14:48:01');  //调用接口用到的参数


$result = $soap->__soapCall('ChangePassword', $ParamData);

//print_r($result->ChkWeleResult);


var_dump($soap->__getTypes());



var_dump($result);