簡體   English   中英

將CURL用於SOAP是一種不好的做法嗎?

[英]Is using CURL for SOAP a bad practice?

我公司中有一個軟件,使用PHP中的curl通過SOAP協議與一些Web服務定期連接。 這有時會失敗,並且整個系統非常不穩定。 我將curl作為與這些Web服務通信的主要工具感到有些驚訝,因為我認為對於大多數語言(包括PHP和python)都存在健壯且成熟的高級庫,而curl是相對低級的,並且不提供任何錯誤處理。 我對嗎? 通過SOAP進行通信的最佳解決方案是什么? 我可以遵循一些企業標准嗎? 請幫忙。

在SOAP Client中構建的PHP已經非常強大,並且抽象了許多常用的東西:

$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 Framework中的獨立組件,它可以基於wsdl自動構建Web服務。 它在PHP的SoapClient之上也有一個包裝器,但是它主要用於將命名和編碼約定收斂到Zend框架,並且不提供太多附加功能。

但是:如果您有非常具體的要求,則可以使用Curl。 如果它不時出現故障並且系統不穩定,那么這不是卷曲問題。 這可能是服務或系統的配置錯誤。

基本上,SoapClient基於標准構建XML。 如果您自己構建XML(無論出於何種原因),curl都是可以的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM