3

開発者組織でサンプルの REST API クラス (ここにあります) を作成し、同じ組織の Visualforce ページで JavaScript からヒットしようとしていますが、次のエラーが発生します:

「NetworkError: 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 に答える