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文件,怎么没有?