jax-ws无法获取wsdl,sun-jaxws.xml可能是错的?

时间:2013-07-13 13:54:20

标签: web-services jax-ws

我开发了第一个服务,它工作得很好。现在我正在开发另一个类似的服务。当我手动发布端点时,我可以浏览wsdl。但是当我将ear文件部署到JBoss时,我无法看到wsdl。 EAR成功部署到JBoss,我看到状态为UP并正在运行。

这是我的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求助。

2 个答案:

答案 0 :(得分:0)

删除web.xml文件的所有内容,但将文件保留为自己。说实话我不知道为什么会这样,但部署到JBoss的WS不起作用。

答案 1 :(得分:0)

我知道这篇文章可能很旧,但是到达这里寻找解决问题的人有帮助,好的,解决了这个问题的解决方法here

它是如何工作的? JAX WS参考实现附带com.sun.xml.ws.transport.http.servlet.WSServletContextListenercom.sun.xml.ws.transport.http.servlet.WSServlet这些类负责处理请求。如果您熟悉web.xml,则很容易理解。