2011-08-16 3 views
3

내 개발자 org에서 샘플 REST API 클래스를 만들었고 동일한 조직의 Visualforce 페이지에서 자바 스크립트를 사용하려고했지만자바에서 apex REST 웹 서비스를 히트 할 수 없다

: '다음과 같은 오류 받고 있어요 : - ". 요청 방법은 해당 에이펙스 방법이 없습니다" "NetworkError 허용되지 405 방법 https://na9.salesforce.com/services/apexrest/Account/001E000000B9GjD"위에서 언급 한 링크의 가이드에서

, 405 개 수단을 아이디어가 있으십니까?

에이 클래스 : (자바 스크립트)

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

없이 VisualForce 페이지 :

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); 
+0

'urlMapping' 속성으로 놀아 보았습니까? –

+0

다른 매핑을 사용하여 다른 클래스를 만들려고했지만 그 중 하나를 공격하지 못했습니다. – CDelaney

+2

휴식 서비스가 제대로 작동하는지 확인하는 데 도움이되는 apigee (www.apigee.com)로 서비스를 테스트 해보십시오. 나는 또한 당신이 자바 스크립트 rmeoting RIM Api이 경우보다 찾고 있다고 생각합니다 (http://teachmesalesforce.wordpress.com/2011/06/19/javascript-remoting/ 참조) – pbattisson

답변

0

내 생각은 개발자 조직이 관리되는 패키지가 의미 네임 스페이스입니다 여기에 관련 코드입니다. 그러한 조직에서 apex REST 서비스를 사용하려면 URL에 네임 스페이스 접두어를 포함시켜야합니다. 따라서이 경우 귀하의 요청을

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

으로 보내 주시면 도움이됩니다.