3

我在我的开发人员组织中创建了示例 REST api 类(在此处找到),我试图从同一组织中的 visualforce 页面上的 javascript 中点击它,但我收到以下错误:

“网络错误:405 方法不允许 - https://na9.salesforce.com/services/apexrest/Account/001E000000B9GjD

从上面提到的链接中的指南中,405 表示“请求方法没有相应的 Apex 方法”。有任何想法吗?以下是相关代码:

顶点类:

@RestResource(urlMapping='/Account/*')
global with sharing class MyRestResource {
   @HttpGet
   global static Account doGet(RestRequest req, RestResponse res) {
      ...
   }
}

Visualforce 页面(在 javascript 中):

var session = '{!$Api.Session_ID}';
var Url = "https://na9.salesforce.com/services/apexrest/Account/001E000000B9GjD";

xmlHttp = new XMLHttpRequest(); 
xmlHttp.onreadystatechange = ProcessRequest;
xmlHttp.open( "GET", Url, true );
xmlHttp.setRequestHeader('Set-Cookie', session);
xmlHttp.send( null );
4

1 回答 1

0

我的猜测是您的开发人员组织是命名空间的,这意味着您有一个托管包。要在此类组织中使用 Apex REST 服务,您必须在 URL 中包含您的命名空间前缀。因此,在这种情况下,您会将请求发送至

/services/apexrest/<namespace>/Account/001E000000B9GjD

希望有帮助。

于 2011-10-06T14:52:59.157 回答