在Web上下文的根目录下启动JAXWS servlet?

时间:2013-10-09 11:56:23

标签: web-services websphere jax-ws axis2 web.xml

是否可以在Web上下文的启动时启动JAXWS servlet,以便WSDL也可以访问?

我在application.xml中定义的上下文根是/myapp/webservice/v1(最后一部分应该在部署描述符中可配置,并且Web服务应该在Web上下文根目录中可用)。

我试过了:

<servlet>
    <display-name>WebService</display-name>
    <servlet-name>WebService</servlet-name>
    <servlet-class>my.package.WebServiceServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>WebService</servlet-name>
    <url-pattern></url-pattern>
</servlet-mapping>

WebService在地址/myapp/webservice/v1下回答,但是当我键入/myapp/webservice/v1?wsdl时,它被转换为/myapp/webservice/v1/?wsdl,它不返回WSDL,但它尝试调用WebService本身,回答:“你好!这是一个Axis2 Web服务!” (GET到WebService时的标准问候语。)

我也试过过url pattern'。'。不接受''和'/ '(WebSphere)。

当我使用

    <url-pattern>ws</url-pattern>

  <welcome-file-list>
      <welcome-file>ws</welcome-file>
  </welcome-file-list>

Web服务正常运行,但WSDL仅在/myapp/webservice/v1/ws?wsdl上可用,这使得该解决方案与现有客户端不兼容。

背后的原因是将版本创建为单独的WAR,然后可以单独或在EAR中部署,并使WebService地址完全可配置,我们需要在Web模块的上下文根目录下访问它。

我不知道我们遇到的问题是特定于WebSphere还是特定于轴......

0 个答案:

没有答案