2011-03-30 88 views
0

我收到此錯誤,任何人都可以幫助我嗎?錯誤與我在PHP中的第一個SOAP Web服務

<SOAP-ENV:Envelope> 
<SOAP-ENV:Body> 
<SOAP-ENV:Fault> 
<faultcode>WSD</faultcode> 
<faultstring> 
SOAP-ERROR: Parsing WSDL: Couldn't load from 'db.wsdl' : failed to load external entity "db.wsdl" 
</faultstring> 
</SOAP-ENV:Fault> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

這裏是我的PHP代碼

<?php 

function getRot13($pInput){ 
$rot = str_rot13($pInput);return($rot); 
} 

function getMirror($pInput){ 
$mirror = strrev($pInput); 

return($mirror); 
} 

// turn off the wsdl cache 
ini_set("soap.wsdl_cache_enabled", "0"); 
$server = new SoapServer("db.wsdl", array('soap_version' => SOAP_1_2)); 


$server->addFunction("getRot13"); 
$server->addFunction("getMirror"); 
$server->handle(); 
?> 

回答

2

錯誤說確切的問題 - 你缺少正確的路徑WSDL文件。在你的情況下,你已經給出了「db.wsdl」作爲路徑,這顯然不存在。 確認「db.wsdl」位於您的腳本目錄或默認包含目錄內(在PHP配置中配置)。

+0

thatnks,現在我該如何創建db.wsdl? – 2011-03-30 08:29:47

+1

WSDL通常由API開發人員創建。你應該看看是否有這樣的文件。否則,請參閱http://www.w3.org/TR/wsdl – Deele 2011-03-30 08:37:03