本文介绍了Salesforce Apex页面中调用远端网络服务的实现过程。
### 注册远端网络服务
在使用Apex代码调用远端网络服务之前,首先需要在Salesforce中注册远端网络服务地址, 本文使用[librarything.com](http://www.librarything.com)提供的一个API, 输入为ISBN, 返回其对应的语言。
登录Salesforce后,选择`Setup > Administer > Security Controls > Remote Site Settings`
![](http://images2015.cnblogs.com/blog/1076449/201612/1076449-20161214174825073-420621308.png)
然后输入远端网络服务地址并保存
![](http://images2015.cnblogs.com/blog/1076449/201612/1076449-20161214174843479-459668251.png)
### 实现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页面
页面代码如下
```
ISBN :
Language :
```