了解Web服务和Enterprise Bean通信体系结构。

时间:2013-05-29 20:01:34

标签: java web-services ejb client jax-ws

我正在阅读enter link description here。具体来说,这部分让我很困惑。

  

网络服务客户

     

Web服务客户端可以通过两种方式访问​​Java EE应用程序。 首先,客户端可以访问使用JAX-WS创建的Web服务。 (有关JAX-WS的更多信息,请参阅第19章使用JAX-WS构建Web服务。 ) 其次,Web服务客户端可以调用无状态会话bean的业务方法。 Web服务客户端无法访问消息bean。

     

如果它使用正确的协议(SOAP,HTTP,WSDL), 任何Web服务客户端都可以访问无状态会话bean,无论客户端是否使用Java编程语言编写。 客户端甚至“不知道”哪种技术实现了服务:无状态会话bean,JAX-WS或其他一些技术。此外,企业bean和Web组件可以是Web服务的客户端。这种灵活性使您可以将Java EE应用程序与Web服务集成。

     

Web服务客户端通过bean的Web服务端点实现类访问无状态会话bean。 默认情况下,Web服务可以访问bean类中的所有公共方法客户端。 @WebMethod注释可用于自定义Web服务方法的行为。如果@WebMethod注释用于装饰bean类的方法,那么只有那些用@WebMethod修饰的方法才会暴露给Web服务客户端。

这是我从上面的文章上下文中得到的:用斜体突出显示文本。下面的点按照上面文本中突出显示的句子的顺序排列。

  1. “首先,客户端可以访问...”表示:访问使用JAX-WS创建的Web服务的任何客户端。 (当然,任何客户都可以访问使用任何工具/技术创建的任何Web服务。)。
  2. “其次,Web服务......”意味着:JAX-WS Web Service可以访问无状态会话bean。
  3. “任何网络服务客户端都可以访问”如何? .NET Web服务客户端可以访问无状态会话Bean吗?或者我错误地理解了这一点?
  4. “Web服务客户端访问无状态会话bean ...”我没有得到这个。是否意味着Web服务客户端访问使用无状态会话Bean创建的另一个Web服务?

1 个答案:

答案 0 :(得分: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

相关问题