java - 在服务器上部署 Java SE6 独立 Web 服务

标签 java web-services java-ws

按照此处概述的步骤操作:Standalone web service

我创建了一个测试 Web 服务,该服务在我的本地计算机上运行良好。由于这是“独立的”,因此我将相同的根文件夹复制到我使用的“服务器”上,并在服务器上发布了服务(就好像它是我的本地计算机一样)。当我使用 localhost 作为域名访问 wsdl 时,它在服务器上工作正常。但是,当我尝试从网络上的另一台机器提供服务器域名而不是本地主机的 url 时,我在 IE 中收到“无法显示”错误。

我的问题是,这可能吗?或者说有什么具体的事情需要做吗?由于这是一个“独立”解决方案,我们不应该需要像 tomcat 这样的“另一个”容器,对吗?

最佳答案

说实话,在你发帖之前,我并不知道 JDK 中有一个内置的、轻量级的 HTTP 服务器。我一直使用 glassfish 来满足我的网络服务需求。

我不能肯定地说,但如果您仔细查看示例代码,您会看到:

Endpoint endpoint = Endpoint.publish("http://localhost:8080/calculator", calculator);

我怀疑这将您限制为“localhost”而不是主机。尝试更改它,使其代表服务器的名称,然后从另一台计算机重试(当然要确保它也可以通过防火墙)。像这样的东西:

Endpoint endpoint = Endpoint.publish("http://myserver:8080/calculator", calculator);

重建它并重试。除此之外,您需要创建一个适当的 war 文件并部署到 glassfish、tomcat 等。

关于java - 在服务器上部署 Java SE6 独立 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24962909/

相关文章:

java - 如何在屏幕上居中 JDialog?

java - Java中的 map 内部 map

java - 使用 Java 访问 Web 服务

web-services - 如何在其他应用程序中从 Liferay 获取所有用户和角色信息?

java - 调用 SOAP 方法 JAX-WS

java - 无法从始终为空的包中获取值

java - 尝试将嵌套 for 循环转换为 Java 8 流时出错

node.js - 如何使用 Node.js 将我的家庭 PC 打造为 Web 服务器

php - 相当于PHP的Java Webservice Client UsernameToken