2013-07-13 61 views
0

我開發了第一個服務,它工作得很好。現在我正在開發另一項類似的服務。當我手動發佈端點時,我可以瀏覽wsdl。但是當我將ear文件部署到JBoss時,我無法看到wsdl。 EAR成功部署到JBoss,我看到狀態爲「正在運行」並正在運行。jax-ws無法獲取wsdl,sun-jaxws.xml可能是錯誤的?

這是我的sun-jaxws.xml文件。我期望將wsdl lto部署到url:port/services/Lookup?wsdl。對?

<?xml version="1.0" encoding="UTF-8"?> 

<endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime' version='2.0'> 
    <endpoint 
      name='LookupService' 
      implementation='com.company.it.webservices.LookupService' 
      url-pattern='/services/Lookup'/> 
</endpoints> 

這裏是我的web.xml文件

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
      version="2.5"> 

    <listener> 
     <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class> 
    </listener> 
    <servlet> 
     <description>JAX-WS endpoint</description> 
     <display-name>WSServlet</display-name> 
     <servlet-name>WSServlet</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>WSServlet</servlet-name> 
     <url-pattern>/services/*</url-pattern> 
    </servlet-mapping> 
    </web-app> 

TIA對您有所幫助。

回答

0

刪除web.xml文件的所有內容,但保持它自己的文件。說實話,我不知道爲什麼會出現這種情況,但部署到JBoss的WS無法正常工作。

+0

不,它沒有工作。任何方式在JBoss上調試和獲取WSDL的正確URL? – priceline

+0

以及討論web.xml sun-jaxws.xml文件的詳細文檔? – priceline

+0

嗯......不。儘管我通常使用WAR歸檔來部署Web服務,並且根本沒有sun-jaxws.xml(同時保持web.xml爲空)。 – Xargos

0

我知道這是舊的文章,但可能誰的人來到這裏尋找他們的問題,它的解決方案幫助,OK,解決這個問題的解釋here

它是如何工作的? JAX WS參考實現附帶com.sun.xml.ws.transport.http.servlet.WSServletContextListenercom.sun.xml.ws.transport.http.servlet.WSServlet,這些類負責處理請求。如果你熟悉web.xml,這很容易理解。

相關問題