1

我的 Web 服务模块由具有不同客户端的多个客户访问,因此应该可以通过不同的 URI 访问,例如

[serverAddress]/MyHTTPRouter/PingService

[serverAddress]/MyHTTPRouter/cet/PingService

(将 [serverAddress] 替换为 myorg.com 或 localhost...抱歉,但 StackOverflow 目前将我限制为两个链接(即使http://localhost也很重要))

所以,我想在我的 web.xml 中定义 2 个 servlet 映射。在 StackOverflow 上,我发现了以下提示: a) Servlet web.xml servlet-mapping b) web.xml 中的 Servlet url 映射如何使用?

我做了以下尝试:

尝试#1:

<servlet>
    <servlet-name>myorg.PingServiceImpl</servlet-name>
    <servlet-class>com.ibm.ws.websvcs.transport.http.WASAxis2Servlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>myorg.PingServiceImpl</servlet-name>
    <url-pattern>/cet/PingService</url-pattern>
    <url-pattern>/PingService</url-pattern>
</servlet-mapping>

使用 SoapUI 的测试结果:

  1. [服务器地址]/MyHTTPRouter/PingService:好的
  2. [serverAddress]/MyHTTPRouter/cet/PingService:错误 404:java.io.FileNotFoundException:WSWS7147E:系统找不到 /cet/PingService 的端点。

尝试#2:

<servlet>
    <servlet-name>myorg.PingServiceImpl</servlet-name>
    <servlet-class>com.ibm.ws.websvcs.transport.http.WASAxis2Servlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>myorg.PingServiceImpl</servlet-name>
    <url-pattern>/PingService</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>myorg.PingServiceImpl</servlet-name>
    <url-pattern>/cet/PingService</url-pattern>
</servlet-mapping>

使用 SoapUI 的测试结果:

  1. [serverAddress]/MyHTTPRouter/PingService: 错误 500:javax.servlet.ServletException:com.ibm.ws.websvcs.exception.ConfigurationException:无法在 Axis servlet 中检索模块的配置上下文:MyHTTPRouter
  2. [serverAddress]/MyHTTPRouter/cet/PingService :同上(错误 500)

我们谈论的是在 IBM Websphere Application Server 8.5 上运行的 EJB 3.1 应用程序。有什么想法为什么 #1 和 #2 都不起作用以及我需要做哪些更改才能使用 /cet/PingService 和 /PingService 访问 Web 服务?

4

0 回答 0