2009-12-19 78 views
4

我有一個WCF webservice,我可以通過basicHttp連接到它,但不是wsHttp。我嘗試通過wshttp通過以下方式與它聯繫:通過wsHttpBinding在PHP中調用WCF WebService

$service = new SoapClient 
("http://service.companyname.local:6666/Service/?wsdl", 
array(
     "location" => "http://service.companyname.local:6666/Service/WCF", 

    "trace" => true, 
    'soap_version' => SOAP_1_2 
    ) 
); 

對SoapClient構造函數的調用返回正常。當我嘗試使用$ client-> FunctionName調用一個時,頁面剛好在那裏加載了一段時間,並最終返回錯誤「Error Fetching http headers」。這應該是什麼意思,我該如何解決它? (消費從.Net客戶端服務完美的作品。)

回答

6

上的wsHttpBinding的default config採用先進的WS-Security和WS-Addressing的功能,是不是被香草PHP SoapClient所理解。還有其他PHP可訪問的SOAP客戶端可以工作(例如Apache Axis2 + Rampart/C),或者您可以嘗試關閉一些不兼容的wsHttpBinding功能(郵件安全性可能是第一個)。並不是說它不起作用,但是你可能需要一些試驗性的錯誤才能使所有的工作都正確。

0

我最後一次檢查,PHP不支持wsHttpBinding

+0

Svetlozar,你在哪裏檢查?你寫了一些代碼,看看谷歌,並得到我一樣?你檢查了PHP文檔嗎?一些郵件列表?如果不能完成,我想知道爲什麼它不能完成。 – 2009-12-19 19:22:59

+2

同意,這個清晰的聲明有一些實質內容是很好的。 PHP和WCF是我正在努力的一個領域,網絡上有很多解決方法,似乎是人們「擺弄」的結果,直到他們開始工作,但迄今爲止還沒有人能夠識別出繼續 - 確切地說明交互中的問題。 – Xcalibur 2011-08-16 03:10:55