Calling a SOAP service without a WSDL?


I've written a tiny SOAP service in PHP which I'd like to call from
Delphi.  This SOAP service is the example SOAP service described on

It only provides one service called "helloWorld".  When calling it, it
needs to be passed one String parameter "inmessage" and (if successful)
returns a String.  However, I do not have a WSDL file for this server.

In PHP, it's rather trivial to write a client for it:


// Load definition of SOAP_Client class
// It's kind of like the "uses" statement in Delphi

// Instantiate the client as an object of the class SOAP_Client
// The parameter defines the URL of the SOAP server
$client = new

// Create an array which will be passed to the SOAP service.
// Here, it's an associative array with just one element.
// The element has the key 'inmessage' and the value 'World'
$params = array('inmessage'=>'World');

// Call the service.
// Meaning of the parameters:
// - Name of the method which is called
// - Parameters for this method
// - Namespace (and maybe other) definitions for the service.
//   In this example, it's "urn:helloWorld"
// If everything goes well, it'll return a String ('Hello World!' to be
// exact).  This result is stored in the variable $response.
$response = $client->call('helloWorld',$params,array('namespace'=>

// Print what has been returned
print $response;

// Print a line feed
echo "\n";

How would I translate this very trivial example to Delphi 7 Enterprise?
 If I had a WSDL file, I'd know how to do this - but I don't have one....

Thanks a lot,

Alexander Skwar
How to quote: (german) (en)
Homepage:  |  Jabber: - Die gnstige Art an Linux Distributionen zu kommen