Fork me on GitHub

SalesforceClient Sample

インスタンス生成

Salesforce.java

通常SalesforceClientのインスタンス生成はWSDLファイルを引数にして行います。

ただ生成時に毎回WSDLをパースするのはコストがかかるので最初にベースインスタンスを生成しておき、それをコピーコンストラクタに渡すのがセオリーです。

Metadataについて

CreateやUpdateの実行時には更新対象のオブジェクトのメタデータ(SObjectDef)が必要になります。

メタデータが取得済みでない場合は自動的に取得されますが、これは通信を伴う処理でありコストがかかります。

これを回避するためにベースクライアント生成時にあらかじめ必要なメタデータを取得しておくことで効率的な更新処理を行うことができます。

※コピーコンストラクタで生成したインスタンスでメタデータを取得してもベースインスタンスには反映されません。

Sandboxに接続する場合

Sandboxを使用する場合はSalesforceClientの生成後、ログインを行うよりも前にEndpointを「login.salesforce.com」から「test.salesforce.com」に変更します。

SalesforceClient client;
String endpoint = client.getEndpoint().replace("login.salesforce.com", "test.salesforce.com");
client.setEndpoint(endpoint);