2011-07-04 53 views

回答

3

快速端口從http://developer.ecircle-ag.com/apiwiki/wiki/SynchronousSoapAPI#section-SynchronousSoapAPI-PHPSample到CFSCRIPT

... 
    client = createObject('webservice','http://webservices.ecircle-ag.com/soap/ecm.wsdl'); 
    ... 
    // ask for the api version 
    result = client.getVersion(); 
    // check if there was an error calling the API function? 

    // exception will be thrown I guess... 

    ... 
    writeOutput("The Version Number is :<pre>#result.getVersionReturn#</pre>"; 
    ... 
    // logon 
    result = client.logon(FORM.realm, FORM.username, FORM.passwd); 
    // get session id 
    sessionid = result.logonReturn; 
    ..... 

    // font forget to log out later ! 

參考:http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-78b4.html

+1

謝謝,亨利,我被文檔和例子的複雜性所拋棄。當然,在CF中它確實如此簡單! –

2

調用Web服務是同步的。

0

你的意思異步電話?我的答案的其餘部分是基於這個假設。

在這個時候,沒有。爲了支持這一點,您需要指定一個特定的CFC /函數來處理Web服務響應 - 當它響應時 - 在不同的線程上。也許不久,如果CF支持關閉到來(它被推測爲coming)。

ColdFusion的有建於SOAP的Web服務支持 - 大量的資源在那裏在網絡上。

您也可以使用調查事件網關異步處理,或者甚至你可以問的SOAP提供者接受你的請求,然後發送一個單獨的請求你爲它們定義另一個Web服務的響應。這會給人一種異步調用的幻覺,但事實上,你只是關閉響應,然後在其他地方等待響應。這在TBH中並不理想,因爲這意味着您必須匹配可能會變得混亂的請求和響應。

希望有所幫助。

+0

我沒有經驗的最新SOAP,REST僅基於服務,所以請原諒我的無知相對。根據我在我的問題中引用的文檔,ECircle提供了同步API和異步API。要使用同步API,需要這裏描述的請求循環[link](http://developer.ecircle-ag.com/apiwiki/wiki/SynchronousSoapAPI#section-SynchronousSoapAPI-SampleProtocolExcerpt)。我懷疑這在CF中是不可能的,至少不是沒有使用外部Java庫。 –

相關問題