2012-03-19 67 views
1

我目前正试图实施我的大学提供的web服务任务。javax.ejb.Stateless class undefined

我的作业是...,

考虑,我们有两个Web服务 - 航空公司的服务和 旅行社和旅行社正在寻找一家航空公司的情况下。 使用Web服务和数据库实现这个场景。

对于作为一个新手,我试图按照this link. 我打开Netbeans的beta 2版本中给出的步骤,并完全按照步骤在链接中给出。我试过运行CalculatorWSApplication,我注意到javax.ejb.Stateless是未定义的。

enter image description here

而且我有三个问题,

  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\

回答

1

让我试着回答你的问题:

首先:您不需要需要知识JSPHTML用于创建Web服务。如果您有兴趣了解更多知识,而不是像SOAP,WSDLXML(基于SOAP和WSDL文件)的主题。你可以在w3schools找到很好的信息。

正如你的任务要求,说你必须与数据库结合您的服务,所以你必须要面对的事实,Web服务是无法发送data样。例如,如果您打算使用某种JPA,您将无法通过WebService轻松地发送客户端和服务器之间的实体(尽管可能)。

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

这会迫使我至少编写3个类(每个webservice一个,一个与数据库通信)。

航空公司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; 
    } 
} 

旅游代理商WS:

// same structure as shown above 

DB类:

public class DBdao { 

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

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

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

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

最后但并非最不重要的:

有几种方法来测试您的Web服务:

  1. 您将使用NetBeans therfore我假设你的GlassFish服务器上部署项目。
    部署完成后,您可以导航到admin gui中的项目,然后单击指向查看端点的链接。在下一个窗口中你可以任意点击一个链接指向产生WSDL或到tester
  2. 您可以通过编写自己的客户端提供的,或者你可以使用this一个更通用的方法教程以下。
  3. 使用soapUI测试(它可作为独立应用程序或作为IDE插件)

我希望这helpes,玩得开心!