xPages で Web サービス クライアントを使用する必要があります。
CurrencyConverter と呼ばれる、テストする簡単な ws を見つけました。WSDL はこちら: http://www.webservicex.net/CurrencyConvertor.asmx?WSDL
- まず、JDK6 で wsimport ツールを使用して Java クラスを作成しました。
- プロジェクトで Java 1.6 が使用されていることを確認しました
- 次に、Eclipse Juno で新しい Java プロジェクトを作成し、それらのファイルを src フォルダーにインポートしました。
- 次に、それをテストするための簡単なクラスを作成しました。
CurrencyConvertor サービス = new CurrencyConvertor();
CurrencyConvertorSoap msg = service.getCurrencyConvertorSoap();
double rate = msg.conversionRate(Currency.USD, Currency.CZK);
System.out.println("USD から CZK へのレート = " + レート);
それは完璧に機能しました。
次に、xPages でも同じアプローチを使用したいと考えました。
- まず、新しい Domino アプリケーションを作成しました
- 次に、Java 1.6を使用していることを確認しました
- 次に、パッケージ エクスプローラーで src という新しいフォルダーを作成し、ビルド パスに追加しました。
- 次に、wsimportツールによって作成されたこれらのJavaファイルをこのフォルダーにインポートしました
- 次に、TestBean という新しいクラスを作成し、その中で上記と同じコードで新しいメソッド getCurrency() を作成しました
- 次に、ビュースコープを使用して、このTestBeanをfaces-config.xmlに「サービス」として登録しました
- 次に、home という名前の新しい xPage を作成しました
- 次に、新しい ComputedField をこの xpage に配置します。
value="#{service.currency}"
そして、あなたは何を知っていますか?うまくいきません。クラス net.webservicex.ConversionRate には { http://www.webserviceX.NET/ }FromCurrencyという名前のプロパティがありません。
それで、私は何か間違ったことをしていますか、それとも典型的な IBM Notes/Domino の問題ですか?
編集: Domino 9 サーバーで典型的なプロジェクトを作成しました。誰かチェックして試してもらえませんか?多分私は何か間違ったことをしているのです。 お試しアプリはこちら。