PHP调用WebService接口
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);