Bulk APIを実行するJavaサンプルアプリ開発について確認してみました。実装方法についてはBulk APIの開発者ガイドで解説されています。
Mavenのインストール
mvnコマンドを実行する必要があるのでHomeBrewをつかってインストールします。
$ brew search maven $ brew install homebrew/versions/maven32
次のコマンドでバージョン確認できます。
$ mvn -v
インストール方法はこちらを参考にさせてもらいました。
maven3 (3.1.x) を Homebrew でインストールする手順 (Mac OS X) | WEB ARCH LABO
Partner WSDLのダウンロード
Salesforceにログインして設定→開発→APIを選択。パートナー WSDL の生成リンクからダウンロードします。
ダウンロードしたファイルはpartner.wsdlという名前にします。このファイルはあとで利用します。
Force.com Web Service Connectorの準備
GitHubから最新ファイルをダウンロードできます。
ダウンロード手順は以下のような感じです。
Building WSC
次のコマンドを実行します。
$ git clone https://github.com/forcedotcom/wsc.git
wscフォルダがダウンロードできます。(pom.xmlのあるディレクトリで実行)
続いて次のコマンドを実行します。(gpgの設定を行う場合)
$ mvn clean package
gpgの設定が不要な場合は次のコマンドでスキップできます。
$ mvn clean package -Dgpg.skip
※gpgの設定についてはまだ勉強中。
これでTargetフォルダが作成されます。
wscフォルダにpartner.wsdlを入れておきます。
Generating Stubs From WSDLs
続いて次のコマンドでJARファイルを生成します。
$ java -classpath target/force-wsc-35.2.4-uber.jar com.sforce.ws.tools.wsdlc <inputwsdlfile> <outputjarfile>
実行例です。
$ java -classpath target/force-wsc-35.2.4-uber.jar com.sforce.ws.tools.wsdlc partner.wsdl partner.jar
自分の環境では警告でましたがひとまず実行できました。
これでpartner.jarが生成されます。
必要なのはこの『partner.jar』とtargetフォルダにある『force-wsc-35.2.4.jar』の2つです。
Eclipseでインポート
プロジェクトを右クリックして一番下のpropertiesを選択。
こんな感じ。
先程の2つのJRAファイルをインポートします。
簡単なサンプルコードを動かしてみます。
これを実行すると取引先の登録を実行できます。
Bulk APIを実行するサンプルを試す
Bulk API開発者ガイドでJavaのサンプルコードが紹介されています。
http://resources.docs.salesforce.com/198/11/ja-jp/sfdc/pdf/api_asynch.pdf
サンプルコードを元にJavaからBulk APIを実行することができました。
詳細から取り込み件数など確認できます。
JOB IDなどの情報も確認できます。
サンプルを動かそうとした時、次のエラーが発生しました。
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/jackson/ObjectCodec
まだきちんと理解できていないですが、次のJARファイルをインポートして解決しました。
サンプルコードです。