1

我想在 php webservice 中使用 nusoap 将数据作为 xml 从客户端发送到服务器。我可以将它作为数组发送。这是我的代码。

客户

 <?php
$name='admin';
$pass='admin';
if(isset($_POST['submit'])){
require_once('lib/nusoap.php');
$client = new nusoap_client('http://localhost/web_service/server.php?wsdl', true);
$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
  }
  $result = $client->call('login', array('name' => $name,'pass'=>$pass));
 if ($client->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
  } else {
$err = $client->getError();
if ($err) {
    echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
    echo '<h2>Result</h2><pre>';
    print_r($result);
echo '</pre>';
}
   }
   }
   ?>

服务器

 <?php
require_once('lib/nusoap.php');
$server = new soap_server();
$server->configureWSDL('server', 'urn:server');
$server->register('login',
array('name' => 'xsd:string','pass'=>'xsd:string'),     
array('return' => 'xsd:string'),    
'urn:server',                   
'urn:server#login',             
'rpc',                              
'encoded',                          
'Login Authentication'
    );

    function login($name,$pass) {
   if($name && $pass == 'admin'){
   return 'Welcome, ' . $name;
   }
   else{
   return '<h2>Oops,</h2> looks like something went wrong. Please try again';
    }
      }
  $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
    $server->service($HTTP_RAW_POST_DATA);
     ?>

我希望将变量 $name 和 $pass 作为 xml 发送到服务器,并且需要服务器解析 xml 并获取值。这可能吗。

4

0 回答 0