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

时间:2023-03-09 03:31:09
Salesforce Apex页面中调用远端网络服务

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

```