[英]PHP Soap with Crowd wsdl
我正在嘗試在我的自定義php應用程序中編寫與人群進行sso登錄的代碼。 我試圖用SOAP做到這一點。 我現在還處於早期階段,正在閱讀有關如何將php soap與wsdl連接的文檔。 但是我似乎深陷其中,因為我不知道下一步該怎么做。
<?php
class test {
function authenticateApplication()
{
$client = new SoapClient("http://localhost:8095/crowd/services/SecurityServer?wsdl");
$param = array('in0' => array('credential' => 'password','name' => 'app'));
$resp=$client->authenticateApplication($param);
$token = $resp->out->token;
print_r($resp);
}
}
$t= new test;
$t->authenticateApplication();
我不知道這段代碼有什么問題。 我已經在網上提到了它,這似乎是正確的,但是當我嘗試運行此程序時,卻出現了此錯誤
Fatal error: Uncaught SoapFault exception: [soap:Client] The validated object is null in /var/www/html/badebade/soaptest.php:7 Stack trace: #0 /var/www/html/badebade/soaptest.php(7): SoapClient->__call('authenticateApp...', Array) #1 /var/www/html/badebade/soaptest.php(7): SoapClient->authenticateApplication(Array) #2 /var/www/html/badebade/soaptest.php(13): test->authenticateApplication() #3 {main} thrown in /var/www/html/badebade/soaptest.php on line 7
由於此程序在人群wsdl中對應用程序進行身份驗證並返回令牌,因此將為您提供一點幫助。 有人可以幫我實現它。
function Find($request) {
try {
$soapClient = new SoapClient('wsdl.wsdl', array('trace' => 1));
$results = $soapClient->authenticateApplication($request);
return $results;
}
catch(SoapFault $ex) {
print $ex->getMessage();
echo '<HR>';
print $ex->getTraceAsString();
echo '<HR>';
echo $ex->getLine();
}
}
$ results = Find($ params);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.