我正在使用Adobe AIR并通过REST API与force.com平台进行集成,到目前为止它的运行相对平稳,但我在使用DELETE
方法时未能取得进展。Salesforce REST API和DELETE方法
删除帐户记录
使用Delete方法删除记录。 在本例中,账户记录被删除。
实施例的使用用于删除字段帐户对象
卷曲https://instancename.salesforce.com/services/data/v20.0/sobjects/Account/001D000000INjVe -H “授权:承载令牌” -H “X-PrettyPrint:1” -X DELETE
实施例要求删除帐户记录的机构
不需要
示例响应体用于删除帐户记录
无返回
我的代码是下面,注意,HTTPConnection.send()
第二个参数是要调用的方法。
var headers:Object = new Object();
headers["Authorization"] = "Bearer "+ConnectionAccessToken;
var url:String = ConnectionInstanceURL + "/services/data/v"+_apiVersionNumber+"/sobjects/"+type+"/"+id;
var response:RESTResponse = new RESTResponse(callback);
var httpCallback:IResponder = new mx.rpc.Responder(response.resultHandler,response.faultHandler);
HTTPConnection.send(headers,"DELETE",url,httpCallback);
相似的代码完全适用于其他操作,而奇怪的是,这并没有失败本身,而是接收到成功的响应,但在问题得到记录回来了它的所有领域。这样看来,我看到[select * from Object where Id = <id>
的结果,而只是为了澄清记录是没有删除。该对象没有任何主要的细节关系,所以我不确定还有什么可以阻止这种删除发生 - 有没有人遇到过这种情况,或有如何解决它的建议?
HTTPConnection? donde esta?你是从哪里得到这门课的?它是否支持“DELETE”作为HTTP方法? – shaunhusain 2012-07-31 02:15:04
+1,我先打一个TCP嗅探器(我通常会求助于http://ws.apache.org/commons/tcpmon/),然后首先验证你发送的内容是否合法。您可能实际上并没有发送您认为自己的动词,并且支持您似乎收到对GET的回应。 – jkraybill 2012-07-31 02:36:08
看起来我可能像往常一样忽略了明显。我做了一个危险的假设,即HTTPConnection是Adobe提供的类,它不是,它利用了Adobe的HTTPService类。 看起来我已经做了一些调查: “或者,您可以将参数传递给指定的URL。当您不通过基于服务器的代理服务时,只能使用HTTP GET或POST方法。但是,将useProxy属性设置为true并且使用基于服务器的代理服务时,也可以使用HTTP HEAD,OPTIONS,TRACE和DELETE方法。“ – 2012-07-31 03:11:36