2012-03-19 26 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,玩得開心!

相關問題