2013-06-19 133 views
2

我在我的机器上使用nodejs设置了本地服务器。这样的事情:从salesforce.com访问本地nodejs服务器

var fs = require("fs"); 
var config = JSON.parse(fs.readFileSync("config.json")); 
var host = config.host; 
var port = config.port; 
var express = require("express"); 

var app = express(); 
app.get("/",function(request,response){ 
    response.send('thanks for visiting my site'); 
}); 
app.listen(port, host); 

现在,如果我发送一个http请求到这个服务器,我得到502 seervice不可用的响应。

HttpRequest req = new HttpRequest(); 
req.setEndpoint('http://localhost:4555/'); 
req.setMethod('GET'); 
Http http = new Http(); 
HTTPResponse res = http.send(req); 

我也在远程站点设置中添加了localhost url,但仍然无法拨打电话。任何想法如何去做呢?

+0

这与salesforce/apex有什么关系? –

+0

@Martin: 我在salesforce中创建http请求.. – Anamadeya

+0

SOrry,我没有明白。你想从salesforce callout中打出你本地的nodejs实例吗? –

回答

3

localhost是一个相对地址,它解析的机器取决于它在哪里使用,所以当你在apex代码中使用localhost(它运行在salesforce服务器上)时,它试图与自己谈话而不是你的nodejs主机。您需要为您的主机提供公开可解析的名称或IP地址,并将其用于您的apex代码中。

相关问题