Androidアプリケーションに取り組んでいます。Webサービスを使用する必要があります。wsdlファイルがありますが、それをJavaに変換して、 Javaプログラムで関数を使用できます。wsdlファイルをJavaに変換する方法はありますか?
WsdlからJavaクラスを生成するのに最適なツールは「cxf wsdl2Java」です。その非常にシンプルで使いやすい。 axis2にあるデータ型の複雑さを発見しました。ただし、残念ながら、 Android環境ではコンパイル時の「Java/javax」パッケージ名 を許可しないため、Androidアプリケーションでこれらのクライアントスタブコードを使用することはできません。パッケージ名を変更します。
また、Android.jarでは、Webサービスを使用するためのすべてのjavax。*ソースが利用できません。これらを解決するために、Android用にこの WSクライアント生成ツール を開発しました。
バックグラウンドでは、「cxf wsdl2Java」を使用して、JavaプラットフォームのAndroidクライアントスタブを生成します。また、Webサービスをよりスマートに使用するためのソースをいくつか作成しました。
Wsdlファイルの場所を指定するだけで、ソースとライブラリが提供されます。プロジェクトにソースとライブラリを配置するだけです。エンタープライズプロジェクトで行う「メソッド呼び出し方式」で呼び出すことができます。名前空間/ SOAPアクションなどを知る必要はありません。たとえば、ログインするサービスがあります。は:
LoginService service = new LoginService ( );
Login login = service.getLoginPort ( );
LoginServiceResponse resp = login.login ( "someUser", "somePass" );
そして、完全にオープンで無料です。
jdk 6には、WSDLからJavaクラスを作成するために使用できるwsimportが付属しています。また、Serviceクラスを作成します。
http://docs.Oracle.com/javase/6/docs/technotes/tools/share/wsimport.html
自動解析してWebサービスに接続するための素晴らしいツールを設立しました
http://www.wsdl2code.com/pages/Example.aspx
SampleService srv1 = new SampleService();
req = new Request();
req.companyId = "1";
req.userName = "userName";
req.password = "pas";
Response response = srv1.ServiceSample(req);
[〜#〜] jaxb [〜#〜]がインストールされていると仮定すると、次のディレクトリに移動しますC:\Program Files\jaxb\binここでコマンドウィンドウを開きます
> xjc -wsdl http://localhost/mywsdl/MyDWsdl.wsdl C:\ Users\myname\Desktop
C:\ Users\myname\Desktopは、お好みに応じて変更できる出力フォルダーです
http://localhost/mywsdl/MyDWsdl.wsdlはWSDLへのリンクです
オスカーが以前に提案したEclipseプラグインを使用できます。または、コマンドラインを使用している場合は、コマンドプロンプトからApache Axis WSDL2Javaツールを使用できます。詳細はこちらをご覧ください http://axis.Apache.org/axis/Java/reference.html#WSDL2JavaReference
WSDL2Java Codegenを使用できます(or)単に 'Web Service/WebServiceClient' WizardをEclipse IDEで使用できます。 IDEを開き、 'Ctrl + N'を押し、 'Web Service/WebServiceClient'を選択し、wsdl URL、ouputフォルダーを指定して、[完了]を選択します。
必要な完全なソースファイルが作成されます。
非常に複雑なWCF Webサービスがあり、いくつかの異なるツールを試しましたが、ほとんどの場合、Webサービスに接続できませんでした。最後に、私はこれを使用しました:
これは、何の変更もなしに動作するクラスを生成するツールの1つにすぎません!