0

私はこれを読んでいました ここにリンクの説明を入力してください. 特に、このセクションは私を混乱させます。

Web サービス クライアント

Web サービス クライアントは、2 つの方法で Java EE アプリケーションにアクセスできます。まず、クライアントは JAX-WS で作成された Web サービスにアクセスできます。(JAX-WS の詳細については、第 19 章「JAX-WS を使用した Web サービスの構築」を参照してください。)次に、Web サービス クライアントは、ステートレス セッション Bean のビジネス メソッドを呼び出すことができます。メッセージ Bean は、Web サービス クライアントからアクセスできません。

正しいプロトコル (SOAP、HTTP、WSDL) を使用していれば、クライアントが Java プログラミング言語で記述されているかどうかに関係なく、すべての Web サービス クライアントがステートレス セッション Bean にアクセスできます。クライアントは、ステートレス セッション Bean、JAX-WS、またはその他のテクノロジなど、どのテクノロジがサービスを実装しているかを「認識」していません。さらに、エンタープライズ Bean および Web コンポーネントは、Web サービスのクライアントになることができます。この柔軟性により、Java EE アプリケーションを Web サービスと統合できます。

Web サービス クライアントは、Bean の Web サービス エンドポイント実装クラスを介してステートレス セッション Bean にアクセスします。デフォルトでは、Bean クラスのすべてのパブリック メソッドは、Web サービス クライアントからアクセスできます。@WebMethod アノテーションを使用して、Web サービス メソッドの動作をカスタマイズできます。@WebMethod アノテーションを使用して Bean クラスのメソッドを装飾する場合、@WebMethod で装飾されたメソッドのみが Web サービス クライアントに公開されます。

これは、上記の記事のコンテキストから得たものです。テキストを斜体で強調表示しました。以下のポイントは、上記のテキストで強調表示された文章の順序です。

  1. 「まず、クライアントは ... にアクセスできます」 意味: JAX-WS で作成された Web サービスにアクセスするすべてのクライアント。(もちろん、任意のツール/テクノロジで作成された任意の Web サービスは、任意のクライアントからアクセスできます)。
  2. 「第二に、Web サービス...」 意味: JAX-WS Web サービスは、ステートレス セッション Bean にアクセスできます。
  3. 「任意のWebサービスクライアントがアクセスできます」どのように? .NET Web サービス クライアントはステートレス セッション Bean にアクセスできますか? それとも私はこれを間違って理解していますか?
  4. 「Web サービス クライアントがステートレス セッション Bean にアクセスします ...」これがわかりません。ステートレス セッション Bean を使用して作成された別の Web サービスにアクセスする Web サービス クライアントを意味しますか?
4

1 に答える 1

0

あなたのポイントのために:

  1. 実装クラスは EJB ではありません。

    @WebService public class MyService {
        @EJB MyBean ejb;
        @WebMethod
        public void doSomething() { ... }
    }
    
  2. 実装クラスも EJB です。

    @Stateless @WebService public class MyServiceBean {
        @WebMethod
        public void doSomething() { ... }
    }
    
  3. .NET クライアントは、次の方法で EJB にアクセスできます。

    @Stateless @WebService public class MyServiceBean {
        @WebMethod
        public void doSomething() { ... }
    }
    
  4. 2の説明。 エンドポイント実装クラスは、例えば、MyServiceBeanです。

于 2013-05-29T23:53:10.823 に答える