0

xPages で Web サービス クライアントを使用する必要があります。

CurrencyConverter と呼ばれる、テストする簡単な ws を見つけました。WSDL はこちら: http://www.webservicex.net/CurrencyConvertor.asmx?WSDL

  1. まず、JDK6 で wsimport ツールを使用して Java クラスを作成しました。
  2. プロジェクトで Java 1.6 が使用されていることを確認しました
  3. 次に、Eclipse Juno で新しい Java プロジェクトを作成し、それらのファイルを src フォルダーにインポートしました。
  4. 次に、それをテストするための簡単なクラスを作成しました。

CurrencyConvertor サービス = new CurrencyConvertor();

CurrencyConvertorSoap msg = service.getCurrencyConvertorSoap();

double rate = msg.conversionRate(Currency.USD, Currency.CZK);

System.out.println("USD から CZK へのレート = " + レート);

それは完璧に機能しました。

次に、xPages でも​​同じアプローチを使用したいと考えました。

  1. まず、新しい Domino アプリケーションを作成しました
  2. 次に、Java 1.6を使用していることを確認しました
  3. 次に、パッケージ エクスプローラーで src という新しいフォルダーを作成し、ビルド パスに追加しました。
  4. 次に、wsimportツールによって作成されたこれらのJavaファイルをこのフォルダーにインポートしました
  5. 次に、TestBean という新しいクラスを作成し、その中で上記と同じコードで新しいメソッド getCurrency() を作成しました
  6. 次に、ビュースコープを使用して、このTestBeanをfaces-config.xmlに「サービス」として登録しました
  7. 次に、home という名前の新しい xPage を作成しました
  8. 次に、新しい ComputedField をこの xpage に配置します。

value="#{service.currency}"

そして、あなたは何を知っていますか?うまくいきません。クラス net.webservicex.ConversionRate には { http://www.webserviceX.NET/ }FromCurrencyという名前のプロパティがありません。

それで、私は何か間違ったことをしていますか、それとも典型的な IBM Notes/Domino の問題ですか?

編集: Domino 9 サーバーで典型的なプロジェクトを作成しました。誰かチェックして試してもらえませんか?多分私は何か間違ったことをしているのです。 お試しアプリはこちら。

4

2 に答える 2

2

最初にマネージド Bean なしで試してみることをお勧めします。

Eclipse が使用する Java のバージョンは、おそらく Domino の Java のバージョンとは異なります。Domino Java バージョン (バージョンは 9.0.1 で更新されています) にバグがあるか、そのバージョンに別の wsimport オプション (-p など) が必要な場合があります。

私にとってうまくいった別のアプローチは、Apache CXF wsdl2javaを使用することです。Domino 8.5.3 から使用しています。生成されたコードから JAR を作成し、Code/Java-elements の Java コードから呼び出しました。

これについての私の経験をいくつか紹介します。

于 2013-11-03T20:41:40.293 に答える
2

バージョン 9.0.1 では、SSJS を使用して WS クライアントを作成できるように、Apache Axis jar がクラス パスに追加されています。

Java 経由で行うには、apache 軸 jar をシステム/アプリケーション クラス パスに追加し、ライブラリからコードを呼び出す必要があります。

于 2013-11-03T18:47:44.780 に答える