簡體   English   中英

帶有wsdl人群的PHP肥皂

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM