【问题标题】:javax.ejb.Stateless class undefinedjavax.ejb.Stateless 类未定义
【发布时间】:2012-04-04 01:11:03
【问题描述】:

我目前正在尝试实施我的大学分配的网络服务任务。

我的任务是..,

考虑一个例子,我们有两个网络服务——一个航空公司服务和一个 旅行社,旅行社正在寻找航空公司。 使用 Web 服务和数据库实现此场景。

为此,作为新手,我尝试按照this link. 中给出的步骤进行操作 我打开了 Netbeans beta 2,并完全按照该链接中给出的步骤进行操作。

但在尝试这些步骤时, Deploying and Testing the Web Service,我尝试运行CalculatorWSApplication,发现javax.ejb.Stateless 未定义。

我有三个问题,

  1. 我有一个基本的知识,JSP,HTML,WEBSERVICE。请给我一些任务的基本想法/基本模式,以便我可以继续下一步和实施。
  2. 我怎样才能摆脱丢失的ejb 文件。
  3. 通常 .java 文件将引用 jre 中存在的库以及为什么在此程序中,CalculatorWS.java 引用此路径 C:\users\MuthuGanapathy\.netbeans\7.0beta2\var\cache\index\s3\java\14\gensrc\javax\

【问题讨论】:

    标签: web-services netbeans ejb stateless


    【解决方案1】:

    让我试着回答你的问题:

    首先:您并不真的需要JSPHTML知识来创建WebServices。如果您对其他知识感兴趣,不妨看看 SOAPWSDLXML 等主题(SOAP 和 WSDL 文件都基于这些主题) .你可以在w3schools找到好的信息。

    正如您在作业要求中所说,您将服务与数据库相结合,因此您将不得不面对这样一个事实,即 WebServices 无法发送每一种类型的data .例如,如果您打算使用某种 JPA,您将无法通过 WebService 在客户端和服务器之间轻松发送实体(尽管可能)。

    因此,我的方法是在客户端和服务器之间发送简单的数据类型,并在服务器端构建我的复杂对象。

    这将迫使我编写至少 3 个类(一个用于每个 Web 服务,一个用于与数据库通信)。

    航空公司 WS:

    @WebService
    public class Airline {
    
      @WebMethod
      public String stuffToDo {
        // do your stuff
        persistOrSelect(complexObject);
        return "success"; 
      }
    
      private boolean persistOrSelectData(Object complex) {
        // Database stuff here
        DBdao.doStuff(complex);
        return true;
      }
    }
    

    TravelAgent WS:

    // same structure as shown above
    

    数据库类:

    public class DBdao {
    
      public static doStuff(Object complex) {
        // get DB connection and INSERT, SELECT, UPDATE
      }
    }
    

    在这种情况下,您甚至不必使用 javax.ejb 包中的类,但我知道这可能是必要的 :)。
    我并没有真正使用 Netbeans,因此我只能推测。我认为您的问题 2.)3.) 相互关联。

    javax.* 包通常位于您的 JDK 中,并且应该在您使用的 server library/target runtime 内的 IDE 中指定。

    • 您是否已将server library 分配给您的项目?
    • 您是否尝试将 Netbeans 安装指向您的 JDK 路径,如 herehere 所示?
    • 您的项目也可能没有对Java System library 的引用。

    最后但同样重要的是:

    有几种方法可以测试您的网络服务:

    1. 您使用的是 Netbeans,因此我假设您将项目部署在 Glassfish 服务器上。
      部署后,您可以在管理 gui 中导航到您的项目,然后单击指向 查看端点 的链接。在下一个窗口中,您可以点击指向生成的WSDLtester 的链接
    2. 您可以按照提供的教程编写自己的客户端,或者,对于更通用的方法,您可以使用this
    3. 使用 soapUI 进行测试(可作为独立应用程序或 IDE 插件使用)

    希望对你有帮助,玩得开心!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-17
      • 2011-12-30
      • 2012-05-27
      • 2016-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多