PHPBuilder - Building Web Services Using NuSOAP Toolkit Page 5



RSS Twitter
Articles Tricks And Hacks

Building Web Services Using NuSOAP Toolkit - Page 5

by: Mitja Kramberger
|
December 26, 2003

For getting input parameter we output a simple form (city is a text input). If some data was sent, we then include NuSOAP toolkit. First we put string parameter into array, so that we can use it for calling webmethod. For a client we create object "soapclient" (argument is URL to the server) at line 14. With created client we can call our webmetod "getWeather" and we pass the parameter (form data in array).
And that's all. Finally we only need to check for errors (line 20) and if there're no errors we simple output data (lines 22-25). We have just created a simple SOAP client, with just a few line of code.

SOAP Client Using WSDL

With the above example we have created a simple SOAP client. We can also use WSDL to create proxy class, which will hold method (getWeather) of our web service. So basically the programmer only needs to know webmethods name and required parameters, and all this can be retrieved from WSDL. We can save WSDL file localy and use it. So let�s make a SOAP client using WSDL (look at server code to see how we generated WSDL).

<?php    
     
/**************************************************************
     *  Description:
     *  Creates a simple SOAP Client using WSDL (client_wsdl.php).
     **************************************************************/
   
     // use form data
     
if ((string)$_GET['action'] == 'get_data') {
   
         
// includes nusoap classes
         
require('inc/nusoap.php');
  
         
// set parameters and create client
        
$l_oClient = new soapclient(
            
'http://somewhere.org/soap/weather.wsdl''wsdl');
        
$l_oProxy  $l_oClient->getProxy();
        
        
// call a webmethod (getWeather)
        
$l_stResult $l_oProxy->getWeather((string)$_POST['city']);
      
        
// check for errors
        
if (!$l_oClient->getError()) {
          
// print results  
          
print '<h1>>Current data for: '  . (string)$_POST['city'
              . 
':</h1><ul><li>DEGREES: '   $l_stResult['degrees'
              . 
'&deg;C</li><li>FORECAST: ' $l_stResult['forecast'
              . 
'</li></ul>';
          
        }
        
// print error description
        
else {
          echo 
'<h1>Napaka: ' $l_oClient->getError() . '</h1>';
        }
    }
  
    
// output search fclientorm
    
print '
        <form name="input" action="'
.$_SERVER['PHP_SELF'].'?action=get_data"  method="POST">
        Your city: <input type="text" name="city">
        <input type="submit" value="Search">
        </form>
    '
;
?>

« Previous Page
1
|
2
|
3
|
4
|
5
|
6
Next Page »

Comment and Contribute

Your comment has been submitted and is pending approval.

Author:
Mitja Kramberger

Comment:



Comment:

(Maximum characters: 1200). You have characters left.