2012-07-05 46 views

回答

3

像這樣的東西(如果你是做從內部的Apex標註,否則使用web服務來捕獲傳入的呼叫並以類似的方式解析)。

準備好您的HTTP請求對象:

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

設置你的終點:

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 
} 
0

你可以實現一個簡單的REST Web服務在salesforce.com這是很容易的,帶來內置的JSON或XML消息的支持。查看APEX文檔的以下頁面: http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_rest_methods.htm
此集成的複雜部分將是身份驗證。無論您使用REST還是SOAP,都需要有效的會話ID進行身份驗證。這可以通過調用標準Webservice API的登錄操作或使用更適合於REST方法的OAuth來完成,但可能相當複雜。 尤其是對於iOS開發的另一種整合方案是西蒙菲爾的zksForce框架,它提供了與標準salesforce.com web服務API交互的固體方式: zkSforce at GitHub

+0

我有認證令牌都算出來了......我只想將請求正文中的JSON放入一個字符串中。有沒有我可以打電話的功能會做到這一點?如: String jsonString = getBody(); ??? – thebiglebowski11 2012-07-06 14:26:37

+0

您需要一個端點來發送您的請求,因此您必須使用APEX的REST或SOAP功能。所以,你可以使用這樣的:'@RestResource(urlMapping中= '/ myendpoint/*') 全球與共享類MyEndpointClass { @HttpPost 全局靜態布爾processInput(字符串輸入){// 過程輸入字符串這裏 ' }' – h9nry 2012-07-06 20:34:38