2013-03-05 83 views
3

我正在使用PHP中的SoapServer處理web服務。以前,我使用完全相同的技術創建了另一個Web服務。我的新項目在同一臺服務器上,但在另一個子目錄中。 在服務的URL中,soapserver是包含的版本號。 這是我SoapServer的是PHP創建方式:PHP SoapServer&符號編碼

$server = new SoapServer("https://".DOMAIN."/webservice/index.php?v=1.0.0&wsdl=1"); 
$server->setClass('SoapHandler'); 
$server->handle(); 

整個PHP頁面在我的例子SOAP服務一樣,只有網址是不同的ofcourse。 當我與soapUI的web服務的調用,將返回以下錯誤:

SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://myurl.com/webservice/index.php?v=1.0.0&wsdl=1' : failed to load external entity "https://myurl.com/webservice/index.php?v=1.0.0&wsdl=1" 

正如你所看到的,符號被替換爲&。我試圖將編碼更改爲UTF-8,但這也不起作用。

誰能幫我一把嗎?

回答

1

我們有一個.htaccess,只允許我的IP地址,同時它也應該允許服務器的IP ..刪除這個解決了這個問題。謝謝你的幫助!

2

您必須在您的php.ini文件中啓用openssl模塊。否則,您無法使用SSL(https)訪問域。

否則,您應該從您的本地服務器檢查您的域,並檢查使用curl或lynx返回WSDL文件。

+0

另一個web服務在同一個域(因此是web服務器),並且那個實際上工作..所以我想我的web服務器設置是好的? – harmjanr 2013-03-05 08:50:14

+0

你可以用phpinfo檢查它。 Apache中的SSL與php openssl不同,對不起,我更新了答案。你必須在你的php.ini文件中啓用你的openssl。 – Stony 2013-03-05 08:52:41

+0

已啓用SSL,我使用phpinfo進行了檢查。但SSL設置爲de php.ini中的整個服務器,並在同一服務器上的其他肥皂服務工作.. – harmjanr 2013-03-05 08:55:06