2017-09-27 9 views
0

REST 호출을 사용하여 서버 측 RPC 모듈 함수를 호출하고 싶습니다.Wakanda 2 - RPC 호출 용 REST API

실제로 이미 가까운 위치에 있지만 뭔가 내부적으로 500 개의 내부 서버 오류가 발생하며 문제를 해결하는 방법을 모르겠습니다. 아래는 내가 가지고있는 것입니다. 모듈 및 프로젝트 설정에서 RPC를 사용할 수 있습니다. CORS는 허용됩니다.

rpc(moduleName: string, methodName: string, params: any[]): Promise<any> { 
     let data = { 
      jsonrpc: '2.0', 
      //id: 167972631107, 
      module: moduleName, 
      method: methodName, 
      params: params 
     }; 

     let headers = new Headers({ 
      'Content-Type': 'application/json' 
     }); 

     return this.http.post(`http://127.0.0.1:8081/rpc/`, JSON.stringify(data), headers).toPromise(); 
    } 
+0

참고 : 이것은 실제로 정확합니다. 모듈 자체에서 문제가 발생했습니다. 특히 새로운'directory.currentSession' 대신'currentSession()'을 사용하여 모듈의 세션 데이터를 가져 왔습니다. RPC 호출이 500 서버 오류를 반환 한 이유. – NAMS

답변

1

우선, 모듈은 클라이언트 측에서 실행하는 권한을 갖고 있는지 확인 :

<?xml version="1.0" encoding="UTF-8"?> 
    <permissions> 
     <allow type="module" resource="myRPC" action="executeFromClient"/> 
    </permissions> 

둘째 500 오류 기인하여 전송 잘못된 파라미터 서버 측 실행에서 처리되지 않은 오류를 나타낼 수도 클라이언트 또는 단순히 모듈의 잘못된 코드 일 수 있습니다. 브라우저 네트워크 속성을 사용하여 POST 요청으로 전송 된 데이터의 유효성을 검사 할 수 있습니다. 또는 RPC 코드에 "디버거"추적 문을 넣어 중단 점을 설정할 수 있습니다. 요청이 서버에 의해 수신되면 실행은 중단 점에서 중지됩니다. 그러면 런타임에서 런타임을 검사 할 수 있습니다.

+0

다시 감사합니다 시앙 :) – NAMS