Java Webサービスクライアント(最良の方法)


82

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

回答:


163

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

私は個人的には、クライアント側の開発のみであっても、Axis2を使用しません。これが私がそれから離れている理由です:

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

Axisがまだ存在している唯一の理由はIMOです。なぜなら、それは古くからEclipseで使用されているからです。神に感謝します。これはEclipseHeliosで修正されており、Axis2がついに死ぬことを願っています。はるかに優れたスタックがあります。

SAAJについて読みましたが、よりきめ細かいレベルのアプローチになると思いますか?

何をすべきか?

WSDL2Javaツールを使用してコードを生成する以外の方法はありますか?多分別のオプションでwsimport。長所と短所は何ですか?

はい!CXFJAX- WSRIのようなJAX-WSスタックをお勧めします(Metro、Metro = JAX-WS RI + WSITについても読むことができます)。これらはよりエレガントで、シンプルで、使いやすいものです。あなたの場合、Java6に含まれているJAX-WSRIを使用しますwsimport

誰かがこれらのトピックに関するいくつかの良いチュートリアルへのリンクを送ることができますか?

これは別のプロです。JAX-WS用の(高品質の)チュートリアルがたくさんあります。たとえば、次を参照してください。

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

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

も参照してください

関連する質問


4
素晴らしい仕事、ありがとう。また、WSITをその説明へのリンクにしてください(例:download.oracle.com/docs/cd/E17802_01/webservices/webservices/…
dma_k 2010

@dma_k完了、WSITプロジェクトへのリンクを追加しました(投稿したものも良いものなので、読者は両方を持っています)。
パスカルティベント2010

1
私はずっと前にあなたにすべてのリンクをたどることさえせずにあなたに+1を与えました。男は生きている、そのbileblogは鼻に当たる!:)繰り返しますが、これに感謝します。
javamonkey79 2010

1
JAX-WSの場合は+1。Axis2で何日も失われました...合計MESS(依存関係のトンは言うまでもありません)
marcolopes 2012

1
ねえパスカル、グレンマッツァのリンクが壊れています。
Adeel Ansari 2016

8

Webサービスアプリのクライアント側にSpringWSを使用して成功しました。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にマッピングする



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.