按照此处概述的步骤操作: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/