TP3.2 soap错误: looks like we got no XML document

rainbow卡兮 发布于 2014/03/21 11:56
阅读 1K+
收藏 0
1 <?php
2 $client = new SoapClient("http://www.sxxl2.ch/Webserver/Attribute/index?WSDL");
3 try{
4     $result = $client->getSort();
5     print "<p>result:$result</p>";
6 }catch(SoapFault $e){
7     print "ERROR:{$e->getMessage()}";
8 }
9 ?>

以上代码是客户端调用的;

一下的代码是服务器端:

01 namespace Webserver\Controller;
02 use Think\Controller;
03 use Webserver\Helper\ServerFactoryHelper;
04 use Webserver\Helper\DirHelper;
05 class AttributeController extends BaseController {
06  
07     public function __construct(){
08         parent::__construct();
09         //从配置中取得WSDL文件的存放目录,并把'\'替换为'/'
10         $path = str_replace('\\', '/', C ( 'WSDL_PATH' ) );
11         //去掉目录中最右端(即最后)的'/'
12         $path = rtrim ( $path , '/' ) ;
13         //判断wsdl文件是否存在
14         if ( !file_exists ( "{$path}/AttributeController.wsdl" ) ) {
15             import( "Org.Util.soapDiscovery" );
16             if(!is_dir($path)) {   
17                 DirHelper::buildPath ($path);
18             }
19             //第一个参数是类名(生成的wsdl文件就是以它来命名的,即person类,第二个参数是服务的名字(这个可以随便写.
20             $disco = new \SoapDiscovery( '\\Webserver\\Controller\\AttributeController', 'AttributeController', $path );
21             $disco->getWSDL(); 
22         }
23         $server = new \SoapServer( "{$path}/AttributeController.wsdl", array( 'soap_version'=>SOAP_1_2 ) );
24         $server->setClass( "AttributeController" );
25         $server->handle(); 
26          
27     }
28      
29     public function index(){
30         //空操作
31         return ;
32     }
33     /**
34      +----------------------------------------------------------
35      * 获取'类别/性别'
36      +----------------------------------------------------------
37      * @access public
38      +----------------------------------------------------------
39      * @param none
40      +----------------------------------------------------------
41      * @return string
42      +----------------------------------------------------------
43      */
44     public function getSort($param=''){
45         return 12;
46          //$server = ServerFactoryHelper::CreateServer($param['code']);
47          //return $server->getSort();
48      } 
49     }

现在的情况是wdsl 有生成。但是在客户端调用的时候就会报ERROR:looks like we got no XML document

 求大神指教啊。

加载中
返回顶部
顶部