Search code examples
phpweb-servicessoapwebnusoap

Receive error when running basic nuSOAP tutorial


I am trying to create a website that retrieves data from a Web Service using the site API.

The 'nuSOAP' PHP library seems to be a perfect way to go about this and so I have been trying to run through a basic tutorial by Scott Nichol called 'Introduction to NuSOAP'.

Here is the code for server.php:

<?php

// Pull in the NuSOAP code
require_once('nusoap.php');

// 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) {
return 'Hello, ' . $name;
}

// 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);

?>

...and here is the code for the client.php:

<?php

// Pull in the NuSOAP code
require_once('nusoap.php');

// Create the client instance
$client = new soapclient('http://localhost/beehive/server.php');

// Call the SOAP method
$result = $client->call('hello', array('name' => 'John'));

// Display the result
print_r($result);

?>

I have 'XAMMP' installed and so when I call up client.php via the browser it should bring up a basic page that says 'Hello, John' but instead I get the following error message:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from '.../server.php' : Start tag expected, '<' not found in C:\xampp\htdocs\beehive\client.php:7 Stack trace: #0 C:\xampp\htdocs\beehive\client.php(7): SoapClient->SoapClient('http://...') #1 >{main} thrown in C:\xampp\htdocs\beehive\client.php on line 7

I figured I should be loading the client page rather than the server, but if I load server.php then I get the error message 'This service does not provide a Web description'.

I have followed the tutorial exactly and can't figure out why it's throwing this error; can anyone please help?

Thank you!


Solution

  • The error you receive makes perfect sense with your error description. The server isn't responding with the right format and therefor your client breaks.

    The same error is discussed here: nusoap simple server