web-dev-qa-db-ja.com

Java Webservice Client(最良の方法)

サードパーティのWSDLがあり、WebサービスクライアントがサードパーティのWSDLの操作を呼び出すためにJavaでコードを記述する必要があります。現在、WSDL2Javaを使用してクライアントスタブを生成しています。 Axisのツールで、データバインディングにXMLbeansを使用しました。

  1. このJAVAを行うための最良のアプローチは何ですか?
  2. 私はSAAJについて読みましたが、それはより詳細なレベルのアプローチになりそうですか?
  3. コードを生成するために、WSDL2Javaツールを使用する以外の方法はありますか。他のオプションではwsimportかもしれません。長所と短所は何ですか?
  4. これらのトピックに関する優れたチュートリアルへのリンクを誰かが送信できますか?
  5. WSDL2Javaを使用してコードを生成するときに使用する必要があるオプションは何ですか?

最初は基本的なものをいくつか使用しました。今、私はこれらのオプションがあります

C:\axis2-1.5.1\bin>wsdl2Java -uri  mywsdlurl  -o client -p somepackage -d xmlbeans -s -t -ssi
81
Java Guy

このJAVAを行うための最良のアプローチは何ですか?

個人的に[〜#〜] not [〜#〜]Axis 2は、クライアント側の開発のみに使用します。ここに私がそれから離れる理由があります:

  1. 私はそのアーキテクチャが好きではなく、生産性の低い展開モデルが嫌いです。
  2. 低品質のプロジェクトだと思います。
  3. そのパフォーマンスが気に入らない( JAX-WS RIに対するこのベンチマーク を参照)。
  4. 依存関係を設定するのは常に悪夢です(私はMavenを使用し、常には膨大な依存関係と戦わなければなりません)(#2を参照)
  5. Axisは大いに時間を費やし、Axis2は良くありません。いいえ、これは個人的な意見ではなく、コンセンサスがあります。
  6. 私は一度、二度と苦しんだ。

Axisがまだ存在している唯一の理由はIMOであるため、Eclipseは古くから使用されています。おかげで、これはEclipse Heliosで修正され、Axis2が最終的に死ぬことを願っています。はるかに優れたスタックがあります。

私はSAAJについて読みましたが、それはより詳細なレベルのアプローチになるでしょうか?

何をすべきか?

コードを生成するために、WSDL2Javaツールを使用する以外の方法はありますか。別のオプションでのwsimportかもしれません。長所と短所は何ですか?

はい! [〜#〜] cxf [〜#〜] または JAX-WS RI のようなJAX-WSスタックを優先します(Metroについても読むかもしれません Metro = JAX-WS RI + [〜#〜] wsit [〜#〜] )、それらはよりエレガントでシンプルで使いやすいです。あなたの場合、Java 6に含まれるwsimportに含まれるJAX-WS RIを使用するだけです。

これらのトピックに関する優れたチュートリアルへのリンクを誰かが送信できますか?

それはもう1つのプロです。JAX-WSのチュートリアル(質の良い)がたくさんあります。たとえば、以下を参照してください。

WSDL2Javaを使用してコードを生成するときに使用する必要があるオプションは何ですか?

オプションなし、wsimportを使用:)

こちらもご覧ください

関連する質問

160
Pascal Thivent

WebサービスアプリのクライアントエンドにSpring WSを使用して成功しました- http://static.springsource.org/spring-ws/sites/1.5/reference/html/client.html を参照してください=

私のプロジェクトでは次の組み合わせを使用しています。

  • XMLBeans(xmlbeans-maven-pluginを使用して単純なMavenジョブから生成)

  • Spring WS-marshalSendAndReceive()を使用すると、送信と受信のコードが1行に減ります

  • いくつかのDozer-複雑なXMLBeanをクライアントGUIの単純なBeanにマッピングする

8
Steve

Apache axis2を使用したWebサービスクライアントの開発に関連するいくつかのリソースをここで見つけることができます。

http://today.Java.net/pub/a/today/2006/12/13/invoking-web-services-using-Apache-axis2.html

以下の投稿は、Apache axis2を使用したWebサービスの開発に関する適切な説明です。

http://www.ibm.com/developerworks/opensource/library/ws-webaxis1/

http://wso2.org/library/136

1
aravindaM

次の回答のアイデア:

Axis2を使用してWebサービスを作成する手順-クライアントコード

WSDLから生成されたADBクラスを呼び出すGroovyクライアントの例を示します。

Webサービスフレームワークはたくさんあります...

0
Mark O'Connor