本文介绍了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>