2010-12-07 11 views
6

J2EE 6 में आप नीचे के रूप में एक बाकी वेब सेवा के रूप में अपने EJB सत्र सेम का पर्दाफाश कर सकते हैंउजागर EJB विधि

@Stateless 
@Path("/test") 
public class TestSessionBean { 
    @GET 
    @Produces("application/xml") 
    public String getTest() { 
    return "<?xml version='1.0' encoding='UTF-8'?><val>test session bean</val>"; 
    } 
} 

यह काम करता है जब मैं .war में EJB पैक, तथापि, जब मैं कोशिश एक ईएआर के अंदर अलग-अलग वेब और ईजेबी मॉड्यूल में अपनी परियोजना को पैकेज करने के लिए मुझे एक HTML 404 त्रुटि नहीं मिली है।

क्या कोई कृपया समझा सकता है?

मैं Glassfish v3

यहाँ उपयोग कर रहा हूँ मेरे web.xml है

<servlet> 
    <servlet-name>TaskRestService</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
    <load-on-startup>1</load-on-startup> 


</servlet> 
<servlet-mapping> 
    <servlet-name>TaskRestService</servlet-name> 
<url-pattern>/services/*</url-pattern> 
</servlet-mapping> 
+0

मैं Glassfish v4.1.1 के साथ एक ही समस्या है। सबकुछ एक काम में ठीक से पैक किया जाता है लेकिन मुझे ईआर – Pedro

उत्तर

5

JAX-रुपये में उद्यम सेम एनोटेट एक स्टैंड-अलोन या एक अलग EJB-जार फ़ाइल में है कि में शामिल है एक ईएआर समर्थित नहीं है।

देखें नीचे

http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=%2Fcom.ibm.websphere.nd.iseries.doc%2Finfo%2Fiseriesnd%2Fae%2Ftwbs_jaxrs_ejb_localinterface.html

+0

में पैकेज किए जाने पर 404 प्राप्त होता है, आईबीएम ने बदल दिया है कि वेबस्पेयर 8.5.5 के लिए (आपका लिंक संस्करण 8.0.0 के लिए है) अब यह बताता है कि "जेएक्स-आरएस एनोटेटेड एंटरप्राइज बीन्स एक ईजेबी- एक ईएआर में शामिल जार फ़ाइल ** ** ** समर्थित है। ईएआरबी में ईजेबी को तैनात करना देखें। " https://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.iseries.doc/ae/twbs_jaxrs_ejb_localinterface.html – Pedro