私はWSDLファイル(正確にはそのURL)を持っています。私はそれをJavaクラスに変換する必要があります。私はまた、それが記述しているWebサービスのためのテストを提供する必要があります。 私はWebサービスの初心者なので、どなたかWSDLをJavaに変換する方法を教えていただけませんか?
私はEclipse JEE Keplerを使用しています。もしかしたら、これを自動的に行うプラグインがあるかもしれませんね?
Eclipse Keplerでは、Webサービスクライアントクラスを非常に簡単に生成できます。
プロジェクト上で右クリック->その他を新規作成->Webサービス->Webサービスクライアント->そしてサービス定義にwsdl URL(または場所)を貼り付ける->次->終了-...。
生成されたクラスが src フォルダ内にあることが確認できます。
注:eclipseを使用しない場合でも、JDKに同梱されているwsimportコマンドユーティリティを使用して、wsdlファイルからクライアントクラスを生成することができます。
wsdlを使ったWebサービスクライアントの作成]1はこちらをご覧ください。
次のコマンドラインを実行する必要があります。
wsimport -keep -s (name of folder where you want to store generated code) urlToWsdl
例:
wsimport -keep -s C:// NewFolder https://www.blablabla.com。
WSクライアントを生成するためにEclipseツールを使用することは、私が悪い経験をしたので、お勧めしません。
これが重要かどうかはよくわかりませんが、私は.NETで書かれたWSを消費する必要がありました。Eclipse's "New Web Service Client"ツールを使用すると、Axis (version 1.x) を使用してJavaクラスを生成しますが、確認したように古いものです(2006年の最終バージョン)。新しいバージョン]2があり、大きな変更が加えられていますが、Eclipseはそれを使いません。
なぜ古いバージョンのAxisが重要なのか、とおっしゃるかもしれません。なぜなら、OpenJDK を使っていると、Oracle's JDK で提供されている暗号アルゴリズムが OpenJDK にはない3、このライブラリのようにそれに依存しているものがある、などの問題に遭遇することがあるからです。
そこで、wsimportというツールを使って、頭痛の種を終わらせたのです。
The Open UniversityのEclipseチームが、テスト付きプロキシクラスの作成について、以下のドキュメントを作成しました。 あなたが探しているものであるかもしれません。
http://www.eclipse.org/webtools/community/education/web/t320/Generating_a_client_from_WSDL.pdf
全ては、Dynamic Web Project のテンプレートに含まれています。
プロジェクトの中で、Webサービスクライアントを作成します。これは、wsdlのURLを指摘させるウィザードを開始し、あなたのためにテストとクライアントを作成します。
このタスクのユーザーガイド(indigoを対象としていますが)は、http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.jst.ws.cxf.doc.user%2Ftasks%2Fcreate_client.html にあります。
windowsでコマンドプロンプトを使用すると、以下のコマンドを使用してクラスファイルを取得できます。。
wsimport "complete file path of your .wsdl file"
example : wsimport C:\Users\schemas\com\myprofile\myprofile2019.wsdl
ソースコードを生成する場合は、以下でcommnadを使用する必要があります。。
wsimport -keep -s src "complete file path of your .wsdl file"
example : wsimport -keep -s src C:\Users\schemas\com\myprofile\myprofile2019.wsdl
注:ここで「-s」はソースディレクトリを意味し、「src」はこのコマンドを実行する前に作成する必要があるフォルダーの名前です。 Wsimport。 JAVA SEと一緒にバンドルされているツールですが、個別のダウンロードはありません。 必須。