PHP5 ile XAMPP üzerinde NuSOAP: failed to open stream

2 Cevap xampp

Hey guys, (yine) bir sorun var. Ben PHP5 ve MySQL içeren XAMPP 1.7.1 w / NuSOAP kullanmaya çalışıyorum bu kez ... Ben bir sabun-istemci yazdı:

<?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);
	}
}

?>

and my soap-server:

   // 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 çalıştığını biliyorum, Apache de birlikte çalışır ... MySQL işleri,, ama NuSOAP çalışmayı yapmaya çalıştığınızda çalışmıyor. Ben şu olsun:

Warning: SoapClient::SoapClient(http://localhost/mysql/helloworld2.php) [soapclient.soapclient]: failed to open stream: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat. in C:\xampp\htdocs\mysql\helloworld2client.php on line 6

Warning: SoapClient::SoapClient() [soapclient.soapclient]: I/O warning : failed to load external entity "http://localhost/mysql/helloworld2.php" in C:\xampp\htdocs\mysql\helloworld2client.php on line 6

Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\mysql\helloworld2client.php on line 41

Ben demek ne hiçbir fikrim yok. Ben Bindireceğini yardımcı olabilir umut! Önceden thnx :)

2 Cevap

Kendi sorusuna cevap vermek için: NuSOAP php5 ile bir sorunu var ... orada bazı cevaplar ve (çok değil) net bazı çözümler vardır, ama onlar benimle işe yaramadı. Ben PHP4 döndürüldüğünü ve iyi çalışıyor ...

Ben PHP5 ile NuSOAP sürümü 1.7.3 kullanılmaktadır. Bu NuSOAP 1.7.3, SoapClient sınıf nu_soapclient tarafından değiştirildi.

Bu deneyebilirsiniz:

$client = new nusoap_client('http://localhost/mysql/helloworld2.php');