9

私は Web サービス (JAX-WS) を作成しようとしており、2006 年から 2013 年までのチュートリアルを多数経験しました。それらのほとんどは、いくつかの IDE に関するものです。Web サービスの手動作成/デプロイについて話しているのは、ant スクリプトを使用したものです。ここまではすべて問題ありません。

Ant スクリプトを確認した瞬間、混乱が始まります。一部の古いチュートリアルでは、APT タスクを使用して SEI をコンパイルし、wsgen を使用してアーティファクトを生成します。新しいものは wsgen のみを使用します (ただし、APT は ant スクリプトで taskdef として定義されています)。また、JAVA 7 のドキュメントについて読んでいると、javac 自体がすべてのコンパイルとアーティファクトの要求を行うため、wsgen を使用する必要はないと書かれています。for WS は実行時に動的に生成されます。

SEI で javac コマンドを使用して tomcat にデプロイしようとしましたが、うまくいきませんでした。

Web サービスをデプロイするために Java SE 7 エディションでどのコマンドを使用する必要があるかを明確にしてください。

また、各コマンドが何を生成し、どのコマンドをいつ使用するかを知りたいです。

私の知る限り、開発と展開には wsimport は必要ありませんが、WS-client を構築する必要があるだけです。これは正しいです?そうでない場合は、私の理解を明確にするための指針を教えてください。

前もって感謝します

また、私が自分自身を繰り返している場合は、StackOverflow を初めて使用し、これにあまり慣れていないため、申し訳ありません。:)

4

1 に答える 1

15

Java-WS 仕様を使用して Web サービスを作成するには、いくつかの成果物が必要です。「apt」、「wsgen」、および「wsimport」の目的は、この手順を自動化することです。

Web サービスを作成するには、ボトムアップ (最初にコード、次に WSDL) とトップダウン (最初に WSDL、次にコード) の 2 つの方法があります。

ボトムアップアプローチ:

  • apt: ソースコードを使用し、WSDL (およびアーティファクト) を生成します
  • wsgen: コンパイルされたコードを使用し、WSDL (およびアーティファクト) を生成します

トップダウン

  • wsimport: WSDL を使用し、サービス/クライアント実装用の Java コードを生成します。

apt を使用する利点は、スクリプトにソース コードがあれば、パラメータ名を取得して WSDL で使用できることです。

Web サービスの展開

本番環境では、セキュリティ、スケーラビリティ、およびリソース管理を担当できる Web コンテナーが必要ですが、テスト目的では、Java SE の組み込み Web サーバーを使用して Web サービスをデプロイできます。

 @WebService 
 public class MyService {
                                          
    public static void main(String args[]) {   
        MyService service = new MyService();   
        String url = "service/";   
        Endpoint ep = new Endpoint(url, service); 
    }
     

    @WebMethod 
    public String getInfo() {   
        return "Service info"; 
    }
}

このコードは WSDL を生成し、localhost/service でサービスを公開します。

于 2014-04-06T14:53:04.777 に答える