0

我正在使用 Axis2(当前为 1.5.3)和 Tomcat(当前为 6.0.26)并且正在运行 Web 服务。我还想托管用于配置 Web 服务的 HTML 页面。

解决此问题的最佳方法是什么?我认为保持相同的上下文是关键,但也许不是。

我当前的发行版位于与此类似的文件夹结构下:Tomcat/webapps/mycompany 实际服务代码在这里:Tomcat/webapps/mycompany/WEB-INF/services/myService

在浏览器中,我可以通过以下方式访问我的 Web 服务:/mycompany/services/myService

我注意到我可以在这个路径中放置实际的 HTML 文件,而 Tomcat 确实会提供它们。

例如,如果我将“index.html”放在 Tomcat/webapps/mycompany 下,我可以导航到 /mycompany/index.html 并查看我的 html。

我想要做的是将此 HTML 附加到 JAR/类文件中,这些文件可以在与服务相同的上下文中与已经存在的服务类文件进行交互。因此,我可以让浏览器直接配置 Web 服务。

这可能吗,是否有教程或其他东西可以帮助我解决这个问题?请注意,我已经为这个特定的 Web 服务使用 Tomcat 和 Axis2 有一段时间了,但我之前从未真正使用 Tomcat 部署过 Web 应用程序/html。

谢谢。

4

2 回答 2

0

通过“配置服务”,举个例子:

该服务有一组数据集。
每个数据集都存在于一个单独的数据库中。该服务可以管理 0..n 个数据集。该服务必须配置为了解每个数据集。

这就是我正在配置的。我不想配置 Axis 本身或重新定义服务。

我想使用托管 Web 服务的同一 Tomcat 实例托管 HTML。它需要管理会话、具有登录功能、诸如此类的东西,并且必须能够实时配置 Web 服务。

从我正在阅读的内容来看,最好为 Web 应用程序模块可以从不同上下文调用的 Web 服务创建一个接口。

有没有更好的办法?

于 2012-10-15T20:35:01.650 回答
0

首先,配置服务是什么意思。通常在 SOA 世界中,服务类似于接口。恕我直言,您可以只更改一项服务,因为他们是依赖您公开的服务的其他用户。

如果我想更改一项服务,我宁愿在弃用现有服务后引入新版本的服务。

您是在谈论将 QoS 应用于现有服务。那么这是有道理的。

无论如何,如果您想拥有一个带有axis2服务引擎的网络应用程序,这是可能的。如果您查看axis2 war 文件的内部,您会发现Axis2Servlet 的web.xml 条目。正是这个 servlet 为 Web 服务请求提供服务。

因此,您需要的是 Web 应用程序中的 Axis2Servlet 映射以及通常的 servlet 映射。使用 web-app 文件配置服务的可能方法的数量。一种选择是使用 Web 服务调用自身(通过身份验证)来配置它。

于 2012-10-13T09:54:43.620 回答