common.apex.runtime.impl.ExecutionException:来自服务器顶点的意外文件结尾
common.apex.runtime.impl.ExecutionException: Unexpected end of file from server apex
我正在尝试在 apex Salesforce 中调出休息服务,但是当我从 Salesforce 调用时效果不佳,已经使用 ARC Chrome 和 Java 程序进行了尝试我做的并且工作正常。
当我设置最大超时时给我这个错误。
common.apex.runtime.impl.ExecutionException: Unexpected end of file from server apex
当我在没有超时的情况下更改它时给我:
An unexpected error has occurred: Read timed out
所以我真的不知道发生了什么我使用相同的逻辑脚本调用另一个 Rest 服务并且它工作正常。
这是我到目前为止的鳕鱼:
@future (callout=true)
public static void SendNitrosOautIncluded(Decimal cantidadNitros, String id_cuenta) {
HttpRequest req = new HttpRequest();
HttpResponse res = new HttpResponse();
Http http = new Http();
try {
map<String, Endpoint__c> endPoints = Endpoint__c.getall();
Endpoint__c endPoint = endPoints.get('PtxAddNitros');
String endPointPtx= (String)endPoint.get('Endpoint__c');
System.debug(endPointPtx+id_cuenta);
//req.setTimeout(60000);
req.setEndpoint(endPointPtx+id_cuenta);
req.setMethod('POST');
req.setHeader('Content-Type', 'application/json; charset=utf-8');
JSONGenerator gen = JSON.createGenerator(true);
gen.writeStartObject();
gen.writeNumberField('credits', cantidadNitros);
//MANAGE RESPONSE
String objSended= gen.getAsString();
System.debug(objSended);
req.setBody(objSended);
res = http.send(req);
String resp=res.getBody();
System.debug(resp);
System.debug(res.toString());
System.debug('STATUS:'+res.getStatus());
System.debug('STATUS_CODE:'+res.getStatusCode());
/* Map<String, Object> m =(Map<String, Object>)JSON.deserializeUntyped(resp);
System.debug(m);
//CONTROL DE ERRORES
String data=(String)m.get('data');
String status=(String)m.get('status');
if(status.equals('200')){
System.debug('CORRECTO');
}*/
} catch(System.CalloutException e) {
facturaDeudor.errorMessage(e);
}
}
问题是关于防火墙的,将服务器白名单中URL的所有de地址都放到callout中,就可以了。
help.salesforce.com/articleView?id=000003652&type=1
我正在尝试在 apex Salesforce 中调出休息服务,但是当我从 Salesforce 调用时效果不佳,已经使用 ARC Chrome 和 Java 程序进行了尝试我做的并且工作正常。 当我设置最大超时时给我这个错误。
common.apex.runtime.impl.ExecutionException: Unexpected end of file from server apex
当我在没有超时的情况下更改它时给我:
An unexpected error has occurred: Read timed out
所以我真的不知道发生了什么我使用相同的逻辑脚本调用另一个 Rest 服务并且它工作正常。
这是我到目前为止的鳕鱼:
@future (callout=true)
public static void SendNitrosOautIncluded(Decimal cantidadNitros, String id_cuenta) {
HttpRequest req = new HttpRequest();
HttpResponse res = new HttpResponse();
Http http = new Http();
try {
map<String, Endpoint__c> endPoints = Endpoint__c.getall();
Endpoint__c endPoint = endPoints.get('PtxAddNitros');
String endPointPtx= (String)endPoint.get('Endpoint__c');
System.debug(endPointPtx+id_cuenta);
//req.setTimeout(60000);
req.setEndpoint(endPointPtx+id_cuenta);
req.setMethod('POST');
req.setHeader('Content-Type', 'application/json; charset=utf-8');
JSONGenerator gen = JSON.createGenerator(true);
gen.writeStartObject();
gen.writeNumberField('credits', cantidadNitros);
//MANAGE RESPONSE
String objSended= gen.getAsString();
System.debug(objSended);
req.setBody(objSended);
res = http.send(req);
String resp=res.getBody();
System.debug(resp);
System.debug(res.toString());
System.debug('STATUS:'+res.getStatus());
System.debug('STATUS_CODE:'+res.getStatusCode());
/* Map<String, Object> m =(Map<String, Object>)JSON.deserializeUntyped(resp);
System.debug(m);
//CONTROL DE ERRORES
String data=(String)m.get('data');
String status=(String)m.get('status');
if(status.equals('200')){
System.debug('CORRECTO');
}*/
} catch(System.CalloutException e) {
facturaDeudor.errorMessage(e);
}
}
问题是关于防火墙的,将服务器白名单中URL的所有de地址都放到callout中,就可以了。 help.salesforce.com/articleView?id=000003652&type=1