我正在使用salesforce集成創建iOS應用程序。 iOS應用程序將在http請求的主體中將JSON數據發送給salesforce。我如何在頂點獲得身體作爲JSON字符串?在Salesforce中獲取Http請求的JSON正文
感謝
我正在使用salesforce集成創建iOS應用程序。 iOS應用程序將在http請求的主體中將JSON數據發送給salesforce。我如何在頂點獲得身體作爲JSON字符串?在Salesforce中獲取Http請求的JSON正文
感謝
像這樣的東西(如果你是做從內部的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
}
你可以實現一個簡單的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
我有認證令牌都算出來了......我只想將請求正文中的JSON放入一個字符串中。有沒有我可以打電話的功能會做到這一點?如: String jsonString = getBody(); ??? – thebiglebowski11 2012-07-06 14:26:37
您需要一個端點來發送您的請求,因此您必須使用APEX的REST或SOAP功能。所以,你可以使用這樣的:'@RestResource(urlMapping中= '/ myendpoint/*') 全球與共享類MyEndpointClass { @HttpPost 全局靜態布爾processInput(字符串輸入){// 過程輸入字符串這裏 ' }' – h9nry 2012-07-06 20:34:38