Created
June 6, 2012 08:08
-
-
Save helieting/2880574 to your computer and use it in GitHub Desktop.
nusoap example2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Pull in the NuSOAP code | |
require_once('nusoap.php'); | |
// Create the client instance | |
$client = new soapclient('http://localhost/phphack/hellowsdl2.php?wsdl', true); | |
// Check for an error | |
$err = $client->getError(); | |
if ($err) { | |
// Display the error | |
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; | |
// At this point, you know the call that follows will fail | |
} | |
// Call the SOAP method | |
$person = array('firstname' => 'Willi', 'age' => 22, 'gender' => 'male'); | |
$result = $client->call('hello', array('person' => $person)); | |
// Check for a fault | |
if ($client->fault) { | |
echo '<h2>Fault</h2><pre>'; | |
print_r($result); | |
echo '</pre>'; | |
} else { | |
// Check for errors | |
$err = $client->getError(); | |
if ($err) { | |
// Display the error | |
echo '<h2>Error</h2><pre>' . $err . '</pre>'; | |
} else { | |
// Display the result | |
echo '<h2>Result</h2><pre>'; | |
print_r($result); | |
echo '</pre>'; | |
} | |
} | |
// Display the request and response | |
echo '<h2>Request</h2>'; | |
echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>'; | |
echo '<h2>Response</h2>'; | |
echo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>'; | |
// Display the debug messages | |
echo '<h2>Debug</h2>'; | |
echo '<pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>'; | |
?> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Pull in the NuSOAP code | |
require_once('nusoap.php'); | |
// Create the server instance | |
$server = new soap_server(); | |
// Initialize WSDL support | |
$server->configureWSDL('hellowsdl2', 'urn:hellowsdl2'); | |
// Register the data structures used by the service | |
$server->wsdl->addComplexType( | |
'Person', | |
'complexType', | |
'struct', | |
'all', | |
'', | |
array( | |
'firstname' => array('name' => 'firstname', 'type' => 'xsd:string'), | |
'age' => array('name' => 'age', 'type' => 'xsd:int'), | |
'gender' => array('name' => 'gender', 'type' => 'xsd:string') | |
) | |
); | |
$server->wsdl->addComplexType( | |
'SweepstakesGreeting', | |
'complexType', | |
'struct', | |
'all', | |
'', | |
array( | |
'greeting' => array('name' => 'greeting', 'type' => 'xsd:string'), | |
'winner' => array('name' => 'winner', 'type' => 'xsd:boolean') | |
) | |
); | |
// Register the method to expose | |
$server->register('hello', // method name | |
array('person' => 'tns:Person'), // input parameters | |
array('return' => 'tns:SweepstakesGreeting'), // output parameters | |
'urn:hellowsdl2', // namespace | |
'urn:hellowsdl2#hello', // soapaction | |
'rpc', // style | |
'encoded', // use | |
'Greet a person entering the sweepstakes' // documentation | |
); | |
// Define the method as a PHP function | |
function hello($person) { | |
$greeting = 'Hello, ' . $person['firstname'] . | |
'. It is nice to meet a ' . $person['age'] . | |
' year old ' . $person['gender'] . '.'; | |
$winner = $person['firstname'] == 'Scott'; | |
return array( | |
'greeting' => $greeting, | |
'winner' => $winner | |
); | |
} | |
// 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); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
why im always return empty string. i with php version 7.1