すべてのSalesforceオブジェクトのリストを取得したいとします。 iはまた、POSTリクエストのURLでセッション・キーを付加し、これを防ぐためにそれが表示されます)Salesforceでapexを使用してすべてのSalesforceオブジェクトのリストをプログラムで取得します
1)不足しているセッション(無効なセッションID: 私は、このリンク http://wiki.developerforce.com/index.php/Enterprise_Describe_Global
が見つかりましたが、いくつかの問題がありますリクエストはありません。
エラー:内部サーバーエラー(500)
2)どこか発見し、セッション・ヘッダが、再び無応答と一緒のclientIdを加えました。
エラー:Web要求の内部サーバーエラー(500)
コードサンプル:
HttpRequest req = new HttpRequest();
Http http = new Http();
req.setMethod('POST');
req.setHeader('content-type','text/xml;charset=utf-8');
req.setHeader('Content-Length','1024');
req.setHeader('Host','na1.salesforce.com ');
req.setHeader('Connection','keep-alive');
req.setHeader('soapAction', 'getObjects');
String url = 'https://na1.salesforce.com/services/Soap/c/10.0/session_key';
String str = '<?xml version="1.0" encoding="utf-8"?> '+
'<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:enterprise.soap.sforce.com\">'+
'<soapenv:Header>'+
'<urn:SessionHeader>'+
'<urn:sessionId>'+'session_ID'+'</urn:sessionId>'+
'</urn:SessionHeader>'+
'<urn:CallOptions><urn:client>CLIENT_ID</urn:client></urn:CallOptions>'+
'</soapenv:Header>'+
'<soapenv:Body>'+
'<describeGlobal></describeGlobal>'+
'</soapenv:Body>'+
'</soapenv:Envelope>';
req.setEndpoint(url);
req.setBody(str);
HTTPResponse resp = http.send(req);
system.debug('response:::'+xml_resp);
Session_ID : I got this value from UserInfo.getSessionID();
client_ID : I tried following values : UserInfo.getUserID();/Secret token
が、私はそれreaponseを取得するための完璧な呼び出し作るcouldntの。
ホープ誰かが助けることができる...