在Salesforce中调用外部系统所提供的的Web Service
這里需要提供外部service所對應(yīng)的WSDL文件(Salesforce只支持從本地上傳),并且提供的WSDL文件有如下兩點(diǎn)要求:
1):wsdl 文件只能有一個(gè)binding,Salesforce是不支持多個(gè)binding的
2):wsdl 文件要包含所有的schema信息,Salesforce是不支持external schema的import的
?
接下來便是具體的操作步驟:
1):按照此目錄?Setup --> Build --> Develop --> Apex Classes 找到對應(yīng)的?Generate from WSDL 按鈕,如下圖所示
?
2):點(diǎn)擊上圖中的Generate from WSDL按鈕,會得到如下視圖,點(diǎn)擊Browser按鈕從本地目錄選擇相對應(yīng)的WSDL文件
?
3):之后點(diǎn)擊下圖中的Parse WSDL按鈕,會將WSDL轉(zhuǎn)換成Apex的Class文件(如果此處出現(xiàn)URL無法訪問的異常,請看第6條的解決方案)
?
4):如果沒有任何異常出現(xiàn)的話,就可以在下圖中填入Apex Class Name了,然后點(diǎn)擊Generate Apex code去真正的生成對應(yīng)的Class文件
?
5):在如下圖中可以查看我們具體生成的Apex Class文件,之后就可以在對應(yīng)的Controller里去調(diào)用此Class中的方法了(實(shí)際上就是call service),具體代碼這里就省略了
?
6):如果在第3步的時(shí)候出現(xiàn)URL無法訪問的異常,根據(jù)異常信息可以到Remote Site Setting中把WSDL文件中用到URL添加到Salesforce中
?
7):當(dāng)然了在Salesforce中同樣可以調(diào)用外部所提供的Rest Service,并且調(diào)用Rest Service的方式顯得更加的簡潔。
簡單的調(diào)用代碼如下所示:
public void callRestService() {HttpRequest req = new HttpRequest();HttpResponse res = new HttpResponse();Http http = new Http();req.setEndpoint('http://www.thomas-bayer.com/sqlrest/CUSTOMER/18/');req.setMethod('GET');//req.setHeader('Content-Type', 'application/json');//req.setHeader('Accept', 'application/json');//req.setBody('');req.setCompressed(true); // otherwise we hit a limit of 32000try {res = http.send(req);system.debug('-----000001----- successful response: ' + res);system.debug('-----000001----- successful response string: ' + res.toString());system.debug('-----000001----- successful response STATUS: '+res.getStatus());system.debug('-----000001----- successful response STATUS_CODE: '+res.getStatusCode());system.debug('-----000001----- successful response Content: ' + res.getBody());} catch(System.CalloutException e) {System.debug('-----000002----- Callout error: '+ e);System.debug('-----000003----- failed response:' + res.toString());}}?
?更多細(xì)節(jié)請看此鏈接:?https://developer.salesforce.com/page/Apex_Web_Services_and_Callouts?
?
轉(zhuǎn)載于:https://www.cnblogs.com/mingmingruyuedlut/p/3512262.html
總結(jié)
以上是生活随笔為你收集整理的在Salesforce中调用外部系统所提供的的Web Service的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 安卓本地wifi联机的斗地主游戏,除了博
- 下一篇: e2e 自动化集成测试 架构 实例 W
