Salesforce Apex页面中调用远端网络服务

本文介绍了Salesforce Apex页面中调用远端网络服务的实现过程。

注册远端网络服务

在使用Apex代码调用远端网络服务之前,首先需要在Salesforce中注册远端网络服务地址, 本文使用librarything.com提供的一个API, 输入为ISBN, 返回其对应的语言。

登录Salesforce后,选择Setup > Administer > Security Controls > Remote Site Settings

然后输入远端网络服务地址并保存

实现Apex Controller

Controller代码如下, isbn用于接收UI的输入, language向UI返回API的输出。

checkLanguage方法实现API的调用。

    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();
        }
    }

Apex页面

页面代码如下

    <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>
posted @ 2016-12-14 17:51  艾斯菲得  阅读(791)  评论(1编辑  收藏  举报