2012-07-05 2 views

답변

3

뭔가 : 특히 아이폰 OS 개발을위한 또 다른 통합 옵션은 표준 salesforce.com WebService를의 API와 상호 작용하는 고체 방법을 제공합니다 시몬 휄의 zksForce 프레임 워크입니다 들어오는 호출을 캡처하고 유사한 방식으로 구문 분석하기 위해 웹 서비스를 사용하십시오.)

는 HTTP 요청 객체를 준비 :

req.setEndpoint(baseURL + callName + '?' + parameterString); 

콜 아웃하십시오 :

HTTP http = new HTTP(); 
String body; 
hTTPRes = http.send(req); 
body = hTTPRes.getBody(); 

호출 JSON 파서 및 구문 분석 결과 :

// Invoke JSON parser 
JSONParser parser = System.JSON.createParser(body); 

// Parse JSON response to get individual field values. 
while(parser.nextToken() != null) 
{ 
    if((parser.getCurrentToken() == JSONToken.FIELD_NAME) && (parser.getText() == 'yourfield')) 
     // store values as you walk the JSON 
} 

// Prepare HTTP 
HTTPResponse hTTPRes; 
HTTPRequest req = new HttpRequest(); 
req.setTimeout(120000); 

은 엔드 포인트를 설정

0

당신이 매우 용이하고 내장 가져온다 JSON 또는 XML 메시지에 대한 지원 salesforce.com에 간단한 REST의 웹 서비스를 구현할 수 있습니다. APEX 문서의 다음 페이지를보십시오. http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_rest_methods.htm
이 통합의 복잡한 부분은 인증입니다. REST 또는 SOAP를 사용하는 경우에도 유효한 세션 ID가 있어야 인증 할 수 있습니다. 이는 표준 웹 서비스 API의 로그인 작업을 호출하거나 REST 접근법에 더 잘 맞지만 상당히 복잡 할 수있는 OAuth를 사용하여 수행 할 수 있습니다. 그렇지 않으면, 당신은 에이펙스 내에서 콜 아웃을 한 경우 (이런 zkSforce at GitHub

+0

나는 인증 토큰을 모두 알아 냈다. 단지 요청 본문에있는 JSON을 문자열에 넣기를 원한다. 내가 할 수있는 함수가 있나요? like : String jsonString = getBody(); ??? – thebiglebowski11

+0

요청을 보내려면 엔드 포인트가 필요하므로 APEX의 REST 또는 SOAP 기능을 사용해야합니다. 그래서 당신은이 같은 것을 사용할 수 있습니다'@RestResource (urlMapping = '/ myendpoint/*') 여기에 공유 클래스 MyEndpointClass { @HttpPost 글로벌 정적 부울 processInput (문자열 입력) { // 프로세스 입력 문자열 글로벌 } }' – h9nry

관련 문제