日期:2014-05-17  浏览次数:20612 次

php soap问题 跪求高手解答……!!
server端:
PHP code
<?php 

error_reporting(7);
$server=new SoapServer(null,array('uri'=>"http://test-rui"));
function sayhello($str)
{
    return "Hello ".$str;
}
$server->addFunction('sayhello');
$server->handle();

?>


client端:
PHP code
<?php 
error_reporting(7);
try{
    $client=new SoapClient(null,array('location'=>"http://localhost/php webservice/server.php",'uri'=>"http://test-rui"));
    $client->sayhello("Jim");
}
catch (SoapFault $fault){
    echo "fault code:".$fault->faultcode."<br>". "fault string : ".$fault->faultstring;
}
?>


为啥客户端运行时会报错:Fatal error: Uncaught SoapFault exception: [HTTP] Not Found in D:\PHPWeb\php webservice\client.php:6 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://localhos...', 'http://test-rui...', 1, 0) #1 D:\PHPWeb\php webservice\client.php(6): SoapClient->__call('sayhello', Array) #2 D:\PHPWeb\php webservice\client.php(6): SoapClient->sayhello('Jim') #3 {main} thrown in D:\PHPWeb\php webservice\client.php on line 6

用try catch 后 得到这个:
fault code:HTTP
fault string : Not Found
  还有 能不能给我详细介绍下soapserver 跟soapclient方法里的那个array参数到底是怎么用的啊 ??  
求高人帮助!!!

------解决方案--------------------
server端有个wsdl文件,怎么没有?