我想從wso2cep-4.1.0與下面的代碼UserAdmin管理服務的功能列表:(修訂版)我怎樣才能得到wso2cep-4.1.0 PHP和肥皂UserAdmin服務功能列表?
<?php
checkWSDLfunctions();
function checkWSDLfunctions(){
$wsdl = "https://10.69.16.44:9445/services/UserAdmin?wsdl";
$paramtrs = array(
'trace' => true,
'login' => 'admin',
'password' => 'admin',
'keep_alive' => false
);
$client = new SoapClient($wsdl, $paramtrs);
print_r($client->__getFunctions());
}
?>
的WSDL可從Web瀏覽器並加載了SoapUI它沒有任何問題,我使用PHP 5.2.9與Apache 2.0.55,當我運行上述PHP中,我得到這個:
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://10.69.16.44:9445/services/UserAdmin?wsdl' : Start tag expected, '<' not found in C:\Program Files\Apache Group\Apache2\htdocs\wso2\checkFunctions.php:15 Stack trace: #0 C:\Program Files\Apache Group\Apache2\htdocs\wso2\checkFunctions.php(15): SoapClient->SoapClient('https://10.69.1...', Array) #1 C:\Program Files\Apache Group\Apache2\htdocs\wso2\checkFunctions.php(2): checkWSDLfunctions() #2 {main} thrown in C:\Program Files\Apache Group\Apache2\htdocs\wso2\checkFunctions.php on line 15
我檢查的其他問題和OpenSSL啓用。 我也試過完全相同的PHP與wsdl從wso2cep 3.1.0,它的工作原理..
你有什麼建議嘗試下?
謝謝!
最好的問候,
更新:我已經通過添加鏈接的wsdl到文件wso2.wsdl,現在__getFunctions()函數返回列表中發現了上述問題的解決方法來自wsdl的函數。
但儘管如此,當我想打電話從WSDL一個簡單的功能,讓我們說listUsers,我得到這個錯誤:
Fatal error: Uncaught SoapFault exception: [HTTP] Error Fetching http headers in C:\Program Files\Apache Group\Apache2\htdocs\CARE.wso2\checkFunctions.php:18 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'https://10.69.1...', 'urn:listUsers', 1, 0) #1 [internal function]: SoapClient->__call('listUsers', Array) #2 C:\Program Files\Apache Group\Apache2\htdocs\wso2\checkFunctions.php(18): SoapClient->listUsers() #3 C:\Program Files\Apache Group\Apache2\htdocs\wso2\checkFunctions.php(2): checkWSDLfunctions() #4 {main} thrown in C:\Program Files\Apache Group\Apache2\htdocs\wso2\checkFunctions.php on line 18
新的PHP代碼:
<?php
checkWSDLfunctions();
function checkWSDLfunctions(){
//$wsdl = "https://10.69.16.44:9445/services/UserAdmin?wsdl";
$wsdl = "wso2.wsdl";
$paramtrs = array(
'trace' => true,
'login' => 'admin',
'password' => 'admin',
'keep_alive' => false
);
$client = new SoapClient($wsdl, $paramtrs);
//print_r($client->__getFunctions());
print_r($client->listUsers());
}
?>
我已經試過默認套接字超時修復在互聯網上建議,但,nothing..maybe我已經錯過了在wso2cep一些設置,但我不知道還有什麼可以改變there..or你認爲什麼可能是這裏的問題?
非常感謝!
尤金