>  기사  >  백엔드 개발  >  soap 协议服务端配置 wsdl 一直出错,求大牛指点

soap 协议服务端配置 wsdl 一直出错,求大牛指点

WBOY
WBOY원래의
2016-06-13 12:04:531406검색

soap 协议服务端配置 wsdl 一直报错,求大牛指点

本帖最后由 i_bruce 于 2014-06-24 10:16:24 编辑 错误提示如下,
Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't find in 'http://test.soaptest.com/soap/Service.php?wsdl' in /data/app/www/soaptest/client.php on line 4 Call Stack: 0.0003 324360 1. {main}() /data/app/www/soaptest/client.php:0 0.0003 324796 2. SoapClient->SoapClient() /data/app/www/soaptest/client.php:4

客户端调用代码client
date_default_timezone_set("PRC");<br />ini_set('soap.wsdl_cache_enabled', "0"); //关闭wsdl缓存<br />$soap = new SoapClient('http://test.soaptest.com/soap/Service.php?wsdl'); <br />//echo $soap->Add(28, 2);<br />//echo $soap->__soapCall('Add',array(28,2));//或这样调用

服务器端代码Service.php
<br /><?php<br />class Service {<br /><br />    public function HelloWorld() {<br />        return "Hello";<br />    }<br /><br />    public function Add($a, $b) {<br />        return $a + $b;<br />    }<br /><br />}<br />$server = new SoapServer('Service.wsdl', array('soap_version' => SOAP_1_2));<br />$server->setClass("Service"); //注册Service类的所有方法 <br />$server->handle(); //处理请求<br />?><br />

生成WSDL文件 create_wsdl.php
date_default_timezone_set("PRC");<br />include("Service.php");<br />include("SoapDiscovery.class.php");<br />$disco = new SoapDiscovery('Service', 'soap'); //第一个参数是类名(生成的wsdl文件就是以它来命名的),即Service类,第二个参数是服务的名字(这个可以随便写)。<br />$disco->getWSDL();<br />~                        


生成wsdl文件类
<?php <br /><br>/**<br>* Copyright (c) 2005, Braulio Jos?Solano Rojas<br>* All rights reserved.<br>*<br>* Redistribution and use in source and binary forms, with or without modification, are<br>* permitted provided that the following conditions are met:<br>*<br>* Redistributions of source code must retain the above copyright notice, this list of<br>* conditions and the following disclaimer.<br>* Redistributions in binary form must reproduce the above copyright notice, this list of<br>* conditions and the following disclaimer in the documentation and/or other materials<br>* provided with the distribution.<br>* Neither the name of the Solsoft de Costa Rica S.A. nor the names of its contributors may<br>* be used to endorse or promote products derived from this software without specific<br>* prior written permission.<br>*<br>* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND<br>* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,<br>* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF<br>* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE<br>* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR<br>* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,<br>* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT<br>* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;<br>* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)<br>* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN<br>* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR<br>* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,<br>* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>*<br>*<br>* @version $Id: SoapDiscovery.class.php 66 2013-04-10 07:12:21Z ideaa $<br>* @copyright 2005<br>*/<br><br>/**<br>* SoapDiscovery Class that provides Web Service Definition Language (WSDL).<br>*<br>* @package SoapDiscovery<br>* @author Braulio Jos?Solano Rojas<br>* @copyright Copyright (c) 2005 Braulio Jos?Solano Rojas<br>* @version $Id: SoapDiscovery.class.php 66 2013-04-10 07:12:21Z ideaa $<br>* @access public<br>* */<br>class SoapDiscovery {<br><br>private $class_name = '';<br>private $service_name = '';<br><br>/**<br>* SoapDiscovery::__construct() SoapDiscovery class Constructor.<br>*<br>* @param string $class_name<div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.