9.20.2. Top-Down (wsconsume を使用)


top-down の開発はサービスの抽象規定で開始し、 これは WSDL ファイルおよび 0 またはそれ以上のスキーマファイルを含みます。 wsconsume ツールは次にこの規定を消費するため使用され、 それを定義するアノテーションが付けられた Java クラス (およびオプションでソース) を生成します。

注記

wsconsume は Unix システム上の symlinks との動作には問題があるようです。
bottom-up の例から WSDL ファイルを使用して、 このサービスを厳守する新しい Java 実装を生成することが可能です。 「-k」オプションは単にクラスを提供するだけではなく、 生成される Java ソースファイルを維持するために wsconsume に渡されます。
  
$ wsconsume -k EchoService.wsdl
echo/Echo.java
echo/EchoResponse.java
echo/EchoService.java
echo/Echo_Type.java
echo/ObjectFactory.java
echo/package-info.java
echo/Echo.java
echo/EchoResponse.java
echo/EchoService.java
echo/Echo_Type.java
echo/ObjectFactory.java
echo/package-info.java
Copy to Clipboard Toggle word wrap
次の表では各生成ファイルの目的を示します。
Expand
ファイル
目的
Echo.java
Service Endpoint Interface
Echo_Type.java
要求メッセージに対するラッパー bean
EchoResponse.java
レスポンスメッセージに対するラッパー bean
ObjectFactory.java
JAXB XML レジストリ
package-info.java
JAXB パッケージアノテーションのホルダー
EchoService.java
JAX-WS クライアントによってのみ使用される
Service Endpoint Interface をよく見てみると、 同じコントラクトに対して評価するのに、 bottom-up の例での手動で記述されたクラスにあるアノテーションより明示的であるのに気づくはずです。
@WebService(name = "Echo", targetNamespace = "http://echo/")
public interface Echo
{
   @WebMethod
   @WebResult(targetNamespace = "")
   @RequestWrapper(localName = "echo", targetNamespace = "http://echo/", className = "echo.Echo_Type")
   @ResponseWrapper(localName = "echoResponse", targetNamespace = "http://echo/", className = "echo.EchoResponse")
   public String echo(@WebParam(name = "arg0", targetNamespace = "") String arg0);
}
Copy to Clipboard Toggle word wrap
ここにないのは (パッケージング以外) その実装クラスのみで、 上記のインターフェースを使って記述することができます。
package echo;
  
@javax.jws.WebService(endpointInterface="echo.Echo")
public class EchoImpl implements Echo
{
   public String echo(String arg0)
   {
      return arg0;
   }
}
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat