我公司有一款軟件通過使用PHP中的curl通過SOAP協議定期連接一些Web服務。有時這會失敗,整個系統非常不穩定。對於將curl作爲與這些Web服務交談的主要工具,我感到有點驚訝,因爲我認爲大多數語言(包括PHP和Python)都存在健壯且成熟的高級庫,並且curl相對較低級別,並且不會提供任何錯誤處理。我對嗎?通過SOAP進行通信的最佳解決方案是什麼?有一些我可以遵循的企業標準嗎?請幫忙。正在使用CURL進行SOAP練習嗎?
0
A
回答
0
PHP的建立SOAP客戶端已經非常強大,許多抽象的普遍需要的東西:
$this->soapClient = new SoapClient($wsdl_url);
// What interface is available, which function can you call?
var_dump($this->soapClient->__getFunctions());
// Call
$result = $this->soapClient->someMethodExposedByTheApi();
// Soap Elements (Tags in the XML) are available as properties:
echo $result->someProperty;
// Nested Tags are available as object chain:
echo $result->someNestedTags->nestedTag;
我無法想象它怎麼可以是任何簡單...
如果您需要設置一個SOAP服務,你可能想使用Zend_Soap,它是一個Zend框架中的獨立組件,它可以自動構建一個基於wsdl的web服務。它也在PHP的SoapClient之上有一個包裝器,但這主要用於將命名和編碼約定融合到Zend Framework中,並且不提供更多附加功能。
但是:如果您有非常具體的要求,捲曲是可以的。如果它不時失敗並且系統不穩定,則不是捲曲問題。這可能是服務或系統的配置錯誤。
基本上SoapClient基於標準構建XML。如果您爲自己構建XML(無論出於何種原因),捲曲是可以的。
相關問題
- 1. 使用Ajax進行路由練習
- 2. 使用泛型進行重構練習
- 3. 用正則表達式練習改進
- 4. DrRacket在進行SICP練習時應該使用哪種語言?
- 5. 使用C++函數進行練習來識別素數使用!=
- 6. 在Karel Midpoint練習中使用Getters和Setter練習(Java)
- 7. 如何進行此練習? (C)
- 8. SOAP API使用CURL
- 9. 正在調用put無參數錯誤的練習嗎?
- 10. 縮放練習練習
- 11. PHP練習題練習?
- 12. Android - 進度條練習
- 13. 使用示例解決方案進行編碼練習
- 14. C++使用類,getline和stringstream進行分析練習
- 15. 使用Python進行字符串練習3
- 16. 使用Windows Azure進行Office 365遷移練習
- 17. C#練習練習(學習路徑)
- 18. 學習jQuery的練習練習
- 19. 練習使用的JavaScript
- 20. TitleCase練習使用JAVA
- 21. 我可以在哪裏練習進行AJAX調用?
- 22. 使用curl調用SOAP webservice
- 23. 練習?
- 24. 學習Python練習
- 25. 使用cURL的Saber SOAP API
- 26. 在Visual Studio中使用C練習PostgreSQL
- 27. SICP練習中的錯誤(練習1.3)
- 28. 掙扎在練習
- 29. 在SQL(SQLZoo練習)
- 30. 正在使用接口中的事件壞練習
只需使用'soap'擴展名? http://www.php.net/soap – 2012-04-25 09:31:45