2012-07-13 16 views
6

के रूप में मैं जेबॉस को जेएक्स-डब्ल्यूएस आधारित वेब सेवा माइग्रेट करने की कोशिश कर रहा हूं लेकिन एप्लिकेशन (युद्ध के रूप में तैनात) स्टार्ट-अप पर श्रोता शुरू करने में विफल रहता है। कोत्रुटि श्रोता स्टार्ट - जैक्सडब्ल्यूएस - जेबॉस 7

ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-14) Error listenerStart 
ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-14) Context [/abc] startup failed due to previous errors 
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-14) MSC000001: Failed to start service jboss.web.deployment.default-host (...) 

त्रुटि संदेश संदर्भ पिछले त्रुटियों लेकिन कोई त्रुटि लॉग में मुद्रित कर रहे हैं की वजह से विफल रहा है। अगर मैं JAX-WS-आर टी का दायरा बदलना उम्मीद के रूप में इस एक अच्छा ClassNotFound का कारण बनता है प्रदान की जानी

<dependency> 
     <groupId>sun-jaxws</groupId> 
     <artifactId>jaxws-rt</artifactId> 
     <version>2.1.7</version> 
    </dependency> 

: प्रश्न में आवेदन JAX-WS-आरटी इस तरह बंडल।

WARN [org.jboss.as.ee] (MSC service thread 1-13) JBAS011006: Not installing optional component com.sun.xml.ws.transport.http.servlet.WSServletContextListener due to exception: java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener (…) 

सर्वलेट वेब.एक्सएमएल में इस तरह परिभाषित किया गया है।

<listener> 
    <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class> 
</listener> 
<servlet> 
    <description>JAX-WS endpoint for data service</description> 
    <display-name>abc</display-name> 
    <servlet-name>abc</servlet-name> 
    <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>abc</servlet-name> 
    <url-pattern>/services/abc</url-pattern> 
</servlet-mapping> 

मैं समझ नहीं पा रहा हूं कि क्या गलत है। मैं इसे कैसे हल करूं और आवेदन को तैनात कर सकता हूं?

विचार:

  1. मैं एक निर्भरता याद आ रही है?
  2. क्या मैं युद्ध को पुन: कॉन्फ़िगर कर सकता हूं बिना किसी बड़े रिफैक्टरिंग के जेबॉस आंतरिक जैक्सडब्ल्यूएस का उपयोग करने के लिए?
  3. यदि मैं एक जेबॉस आंतरिक जैक्सडब्ल्यूएस संस्करण का उपयोग नहीं कर सकता, तो क्या मैं जब्स को जैक्सव्स के एक संस्करण का उपयोग करने के लिए मजबूर कर सकता हूं जिसे मैं युद्ध में बंडल करता हूं? (यदि हां, तो क्या निर्भरता कर रहा JaxWs के लिए की जरूरत है?)

उत्तर

7
JBoss AS7 (जावा EE6) के साथ

आप वास्तव में सर्वलेट वर्ग के रूप में web.xml में WSServlet लगाने की जरूरत नहीं होनी चाहिए।

<extensions> 
    [...] 
    <extension module="org.jboss.as.webservices"/> 
</extensions> 
: लेकिन बजाय तुम वहाँ वर्ग @Webservice

साथ एनोटेट के वर्ग के नाम

आपको बस इतना करना चाहते हैं सुनिश्चित करें कि आप में JBoss विन्यास (जैसे standalone.xml) आप सक्षम webservices के लिए एक्सटेंशन बनाते होता

संबंधित मुद्दे