1

我使用 Apache Axis 在 tomcat 上部署了一个简单的 Web 服务。

如果我以http://localhost:8080/webservices/TransactionService访问网络服务,我会看到通常的消息

事务服务

您好,这是 AXIS 服务!

也许这里会有一个调用服务的表格......

表明 Web 服务可用并且可以使用。

但是,如果我以http://10.0.0.1:8080/webservices/TransactionService访问它(10.0.0.1 是机器的实际 IP。我在与上面相同的机器上访问它,机器托管 tomcat)我得到:

HTTP 状态 404 - /webservices/TransactionService

-------------------------------------------------- ------------------------------

类型:状态报告

消息: /webservices/TransactionService

描述:请求的资源 (/webservices/TransactionService) 不可用。

-------------------------------------------------- ------------------------------

Apache Tomcat/5.5

tomcat 日志中没有任何内容

如果我尝试在 Jetty 上部署它一切正常。

对此有什么解释吗?任何指针最受欢迎。

4

2 回答 2

3

Tomcat 可以以不同的方式监听不同的主机名/IP。具体来说,每个主机/IP 都可以有自己的工作目录:

<Host name="localhost" workDir="/workdir">
  ...
</Host>

部署到一个工作目录的应用程序将无法用于具有另一个工作目录的主机。

检查您的配置。

更新:如果名称被指定为名称,而不是 IP,请检查该名称是否也解析为 10.* 地址。

此外,其中一台主机是默认主机。如果没有特定的主机,它现在也会响应所有请求,无论它们的目标是什么主机。对于您的设置,您可能只想让那一个处于活动状态。

于 2009-03-05T15:50:25.030 回答
0

我不认为改变 Tomcat 配置是答案。我不必做这样的事情来使用我的本地 IP 地址或 localhost。

它可以像添加到您的主机文件一样简单吗?我在 c:/windows/system32/drivers/etc/hosts 中有我的,其中有一个“127.0.0.1 localhost”条目。

于 2009-03-05T15:58:04.687 回答