1

(xmlbeansを使用して)WSDLのスタブをいくつか生成しようとしていますが、いくつかの問題が発生し続けています。私は次のページを使用しています:

http://axis.apache.org/axis2/java/core/docs/userguide-creatingclients-xmlbeans.html

私がスキップしているこれらのステップの唯一の部分は、「client.java」の部分です。これは、結果のjarをプラグインしたい別のプロジェクトがすでに用意されているためです。私の手順の概要は次のとおりです。

  • 私のWSDLはcrmonlineインスタンスなので、次のように実行します。

C:\ Work \ aaa2> WSDL2Java -uri https://mycrmorgname.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl -p crmsdk -d xmlbeans -s -oc:\ mystubfolder

  • 「ant」を使ってプロジェクトを構築します

  • 私の「クライアント」プロジェクトでは、。\ build\libに作成された2つのjarを参照します

すべてのaxis2/apache参照などを追加すると、プロジェクトは正常にビルドされますが、PlayFrameworkを介してプロジェクトを起動すると、最初のページに到達したときにエラーが発生します。最初のエラーは次のようです。

17:48:45,289 ERROR ~ Error in ControllersEnhancer. 
controllers.ProfileController.editProfile has not been properly enhanced 
(fieldAccess javassist.expr.FieldAccess@212ca458).

またはそれに似たもの。エラーを下にスクロールすると、次のようになっていることがわかります。

The file /app/models/MyDynamicsClient.java could not be compiled. 
Error raised is : org.apache.axiom.om.util.AXIOMUtil cannot be resolved

今、私はまだWebサービスにアクセスしていないか、クラスをインスタンス化していない...なぜこれが起こっているのか途方に暮れている。または、より正確に言うと、私は正確に何を台無しにしていますか?何かへの参照がありませんか?AXIOMUtilで検索を実行すると、これはAxiom-apiにあるはずであることがわかります(私が持っているバージョンはAxiom-api-1.2.10.jarです)。私はこれを参照していますが、役に立たないようです。それとも私はどこかで何か間違ったことをしているのでしょうか?

バージョンの詳細:

  • Axis2 1.5.4
  • Apache-ant 1.8.3

どんな助けでも大歓迎です!!

4

1 に答える 1

0

わかりました、さまざまなことを試し、サイト/指示を読み直した後、私は自分が間違っていたことに気付きました. または、少なくとも、問題を解決するために別の方法でやり始めたことがいくつかわかりました。

まず、apache http コンポーネント用の別のサンプル プロジェクトの jar ファイルを使用していました。これが影響したかどうかはわかりませんが、とにかくこれの新しいバージョンをダウンロードし、代わりにそれらの JARS を参照しました。

また、「スタブ」プロジェクトで jar を作成してそれらを参照する代わりに、生成されたすべてのスタブ/クラスを既存のクライアント プロジェクトに直接コピーしました。これが私の問題を解決したのではないかと感じています。または、これと私が行った前のステップの混合かもしれません!

したがって、私の新しい手順は次のとおりです。

  1. 必要なコンポーネントの正しいバージョンがすべてダウンロードされていることを確認してください。私の場合、次のものがあります。

    • アパッチ軸 2 v 1.5.4
    • Apache HTTP コンポーネント クライアント 4.1.3
    • Apache-ant 1.8.3
  2. Axis2 および HTTP コンポーネント ライブラリからすべての JARS をクライアント プロジェクトにコピーし、それらを参照します。

  3. WSDL2Java を使用して、独自のプロジェクト内にスタブとクラスを作成します。

  4. プロジェクトが Ant を使用してビルドされていることを確認する

  5. src フォルダー内の生成されたすべてのクラス ファイルをクライアントのソース フォルダーにコピーします。

  6. その他の参照の問題を修正してビルドする

ありがたいことに、これでうまくいきました。

于 2012-03-16T14:36:18.747 に答える