rt如何正确创建WSDL文件(用SOAP),为什么运行时报告错误?网上又没有正确的答案<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope SOAP
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding"
xmlns:si="http://soapinterop.org/xsd">
<SOAP-ENV:Header />
<SOAP-ENV:Body>
<getRandQuoteResponse>
<return xsi:type="xsd:string">
"My main objective is to be professional but to kill him.",
Mike Tyson (2002)
</return>
</getRandQuoteResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>错误提示:
无法显示 XML 页。 
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。 
--------------------------------------------------------------------------------在属性和属性值之间缺少等号。处理资源 'http://localhost/PHPProject/WSDL/WSDL.wsdl' 时出错。第 4 行,位置: 4    ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
---^
 而且在PHP文件中用SoapClient()运行时也错误:Fatal error: Class 'SoapClient' not found in D:\Apache Group\Apache2\htdocs\PHPProject\index5.php on line 38
PHP文件如下:<?php
        $ws = 'http://localhost/PHPProject/WSDL/WSDL.wsdl';    // 这是我运行WSDL.wsdl文件的URL
$client = new SoapClient($ws);
?>

解决方案 »

  1.   


    你是说WSDL文件不应该“UTF-8”?
    为什么呢?
      

  2.   


    不过重启apache也提示
    PHP Startup: Unable to load dynamic library ';D:\php5\ext\php_soap.dll' - 找不到指定的模块。
      

  3.   

    你没有下载libxml2.dll库,在www.xmlsoft.org下载,解开后,将libxml2.dll 复制入C:\WINDOWS,然后重启APACHE 即可。
      

  4.   

    那么你的 D:\php5\ext\php_soap.dll 这个文件存在 并且在php.ini里打开了php_soap.dll这个扩展的支持了吗?
      

  5.   


    ;D:\php5\ext\php_soap.dll
    这个前面怎么有个;号
    你的php.ini没有解禁
    查php_soap把前面;去掉
    重启apache
      

  6.   


    存在这个DLL文件啊php.ini中extension=php_soap.dll这个前面的分号已经删除了
      

  7.   

    你这个是soap response的格式, 不是wsdl