首页 > 代码库 > PHP 调用webService方式
PHP 调用webService方式
方法如下:
<?phpheader(‘Content-Type: text/html; charset=UTF-8‘);define(‘APP_ROOT‘, dirname(__FILE__) . DIRECTORY_SEPARATOR);$wsdlurl = "http://uniplatform.essence.com.cn/UniIdentity.asmx?wsdl";$domain = "http://tgfx.essence.com.cn";$qydomain = "http://ep.essence.com.cn";$scharset = "utf-8";$qyuser = null;session_start();$logincert =(empty($_GET["logincert"])) ? false:trim( $_GET["logincert"]);$loginsso =(empty($_GET["ssocert"])) ? false:trim( $_GET["ssocert"]);//F38531ADE7D5221BE0438C92070AC392if($logincert){ //是否已经在本平台登录过 $qyuser = $_SESSION[‘loginQiYeUserInfo‘]; if(isset($qyuser) && !empty($qyuser)){ if( $qyuser[‘loginCert‘] && $qyuser[‘loginCert‘] == $logincert ){ //已经登录 直接进入 系统 echo ‘<script>window.location.href="http://www.mamicode.com/‘. $domain .‘"</script>‘;exit; }else{ //清空session $_SESSION[‘loginQiYeUserInfo‘] = null; //可能是另一个用户进来 } }else{ //取下COOKIE中是否有 /*if (isset($_COOKIE["loginQissocert"])) $loginsso = trim($_COOKIE["loginQissocert"]);*/ } $rest = checkIntoSystem ($wsdlurl ,$logincert,$loginsso , $scharset , $qyuser); //认证 if($rest) { //把$loginsso 保存到Cookie //setcookie("loginQissocert", $loginsso,time()+3600); //去拿到 员工的ID 以及其它信息保存在Session中 echo ‘<script>window.location.href="http://www.mamicode.com/‘. $domain .‘"</script>‘;exit; }else{ echo ‘<script>window.location.href="http://www.mamicode.com/‘. $domain .‘/fail.html"</script>‘;exit; }} /** * 认证 登录人员 */function checkIntoSystem( $wsdlurl ,$logincert,$loginsso ="" ,$scharset="utf-8",& $qyuser =null ){ if(empty($logincert)) return false; $scoptions = array ( ‘trace‘ => true, ‘soap_version‘ => SOAP_1_2, ‘exceptions‘ => false, ‘encoding‘ => $scharset ); $checkparam = array ( ‘userIP‘ => getClientIP(), //IP地址 ‘loginCert‘ => @ $logincert ,‘SSOCert‘ => $loginsso, //登录的信息 ‘target‘ => "1045"//机器编号 ); //print_r($checkparam); //调用门户接口测试 try { $client = new SoapClient($wsdlurl, $scoptions); //print_r($client->__getFunctions()); //print_r($client->__getTypes()); /** * 验证用用户是否能够进入系统性 */ $resultdata=http://www.mamicode.com/null ;"SSOAuthenticat", array($checkparam) ); if ( $check_rt ) { //SSOAuthenticatResult是认证返回值变量 $returnstr = $check_rt->SSOAuthenticatResult; if ($returnstr) { $resultdata = http://www.mamicode.com/explode(‘|‘, $returnstr);"100": $logusername = @ trim($resultdata[1]); $qyuser[‘loginCert‘] = $_GET["logincert"]; $qyuser[‘ltype‘] = "QAN"; $qyuser[‘loginuname‘] = $logusername; $_SESSION[‘loginQiYeUserInfo‘] = $qyuser; return true;//认证通过 可以登录 break; case "201": echo "认证结果:验证失败"; break; case "101": echo "认证结果:没有权限"; break; default:echo "未知错误"; break; } } else { echo "认证返回结果为NULL,请检查再试。"; } } catch (SoapFault $soapFault) { //echo $soapFault; echo "<===>" . $soapFault->faultstring; $file = APP_ROOT."logs/error/".date("Ymd_His").time()."log"; file_put_contents($file,$soapFault);//记录异常信息 } return false;} // 定义一个函数getIP()function getClientIP(){ $ip = ""; if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); else $ip = "Unknow"; return $ip;} //获取所有部门function SoapAllDepar($wdsl, $options) { $mms = $client->GetAllDepartment(NULL); //$xmlstring = base64_decode($mms->GetAllDepartmentResult); }
PHP 调用webService方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。