NuSOAP на XAMPP с PHP5: не удалось открыть поток - PullRequest
0 голосов
/ 19 июня 2009

Эй, ребята, у меня проблема (снова). На этот раз я пытаюсь использовать NuSoap с XAMPP 1.7.1, который включает в себя PHP5 и MySQL ... Я написал мыльный клиент:

<?php
// Pull in the NuSOAP code
require_once('nusoap.php');
// Create the client instance
$client = new soapclient('http://localhost/mysql/helloworld2.php');
// Check for an error
$err = $client->getError();
if ($err) {
    // Display the error
    echo '<p><b>Constructor error: ' . $err . '</b></p>';
    // At this point, you know the call that follows will fail
}
// Call the SOAP method
$result = $client->call('hello', array('name' => 'Doro'));
// Check for a fault
if ($client->fault) {
    echo '<p><b>Fault: ';
    print_r($result);
    echo '</b></p>';
} else {
    // Check for errors
    $err = $client->getError();
    if ($err) {
        // Display the error
        echo '<p><b>Error: ' . $err . '</b></p>';
    } else {
        // Display the result
        print_r($result);
    }
}

?>

и мой мыльный сервер:

   // Enable debugging *before* creating server instance
   $debug = 1;
   // Create the server instance
   $server = new soap_server;
   // Register the method to expose
   $server->register('hello');

   // Define the method as a PHP function
   function hello($name) {

$dbhost = 'blah';
$dbuser = 'blub';
$dbpass = 'booboo';
try{
       $conn = MYSQL_CONNECT($dbhost, $dbuser, $dbpass) 
           or die ('Error connecting to mysql');

    if( !$conn ){
        return 'Hello, '.$name.' ...  too bad, I cannot connect to the db!';
    }
    else{
        $dbname = 'soaperina';
        MYSQL_SELECT_DB($dbname) or die('Error connecting to '.dbname);

        $queryres = @mysql_db_query(
                          'response',
                          'SELECT * FROM farben');

                    return 'RESPONSE: <br>';

                   while( $arr = mysql_fetch_array( $queryres ) ){
                         return $arr["ID"]." - ".$arr["Farben"]." - ".$arr["Rating"]."<br>";
                   }
            }
    }
    catch(Exception $e){
                 return 'Sorry, '.$name.', but that did not work at all!';
        }


   }
   // Use the request to (try to) invoke the service
   $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
   $server->service($HTTP_RAW_POST_DATA);
?>

Я знаю, что PHP работает, Apache работает, MySQL работает ... он также работает вместе, но когда я пытаюсь заставить его работать с NuSOAP, он не работает. Я получаю следующее:

Внимание: SoapClient :: SoapClient (http://localhost/mysql/helloworld2.php) [soapclient.soapclient]: не удалось открытый поток: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle Нах Эйнер Бестиммтен Цайтспанне Нихт Ричтиг Рейгерт Хэт, Одер умереть Hergestellte Verbindung война fehlerhaft, da der verbundene Host Nicht Reagiert Hat. в C: \ XAMPP \ HTDOCS \ MySQL \ helloworld2client.php по линии 6

Предупреждение: SoapClient :: SoapClient () [soapclient.soapclient]: предупреждение ввода / вывода: не удалось загрузить внешнюю сущность «http://localhost/mysql/helloworld2.php" в C: \ XAMPP \ HTDOCS \ MySQL \ helloworld2client.php по линии 6

Неустранимая ошибка: максимальное время выполнения 60 секунд превышено в C: \ XAMPP \ HTDOCS \ MySQL \ helloworld2client.php по линии 41

Я понятия не имею, что это должно означать. Я надеюсь, вы можете помочь! Спасибо заранее:)

Ответы [ 2 ]

2 голосов
/ 10 марта 2010

Я использовал NuSOAP версии 1.7.3 с PHP5. В этом NuSOAP 1.7.3 класс soapclient переименован в nu_soapclient.

Вы можете попробовать это:

$client = new nusoap_client('http://localhost/mysql/helloworld2.php');
0 голосов
/ 24 июня 2009

, чтобы дать ответ на мой собственный вопрос: у nusoap есть проблема с php5 ... в сети есть некоторые ответы и некоторые решения (не так много), но они не работают со мной. Я понижен до php4, и он отлично работает ...

...