本文介紹了Salesforce Apex頁面中調用遠端網絡服務的實現過程。php
在使用Apex代碼調用遠端網絡服務以前,首先須要在Salesforce中註冊遠端網絡服務地址, 本文使用librarything.com提供的一個API, 輸入爲ISBN, 返回其對應的語言。api
登陸Salesforce後,選擇Setup > Administer > Security Controls > Remote Site Settings
網絡
而後輸入遠端網絡服務地址並保存url
Controller代碼以下, isbn
用於接收UI的輸入, language
向UI返回API的輸出。code
checkLanguage
方法實現API的調用。orm
public class BookController { public String isbn { get; set; } public String language { get; set; } public void checkLanguage() { Http http = new Http(); String url = 'http://www.librarything.com/api/thingLang.php?isbn=' + isbn; HttpRequest req = new HttpRequest(); req.setEndpoint(url); req.setMethod('GET'); HttpResponse res = http.send(req); language = res.getBody(); } }
頁面代碼以下blog
<apex:page controller="BookController" showChat="false" showHeader="false"> <apex:form > ISBN : <apex:inputText value="{! isbn}" /> <apex:commandButton action="{! checkLanguage}" value="Check Language" reRender="result"/> </apex:form> Language : <apex:outputText id="result" value="{! language}"/> </apex:page>