【问题标题】:access WSDL in a docker container在 docker 容器中访问 WSDL
【发布时间】:2019-02-21 11:33:57
【问题描述】:

我构建了一个 SOAP 网络服务,它在我的本地机器上运行良好。 WSDL 是通过 maven 插件从 xsd 文件生成的。可以在我的本地主机上找到 WSDL:http://localhost:8080/ws/test.wsdl。 我设法构建了这个 web 服务的 docker 镜像,它暴露在 310 端口上。 现在我的问题是:客户端无法导入 wsdl,因为它位于 webservice 容器中。 我的问题是:客户端可以从中导入 wsdl 的 url 是什么? 提前致谢。

【问题讨论】:

  • 你是如何运行容器的?想象一下没有“本地主机”之类的东西;您将如何访问该服务?
  • 感谢大卫的回复。 webservice 容器和数据库容器通过 docker-compose 运行。客户端仍在本地机器上运行,当我构建它时,它会在上面提到的 url 处查找 wsdl,但显然找不到它。为了回答你的问题,我猜我会通过容器 IP 访问它。

标签: web-services docker soap wsdl


【解决方案1】:

您很可能必须为您的容器设置端口绑定。如果您的容器暴露了 310 端口,您可以访问它,如果您通过 docker 设置端口绑定规则,如下所示:

docker run -it -p 127.0.0.1:8080:310

这会将 127.0.0.1:8080 上的任何访问转发到侦听端口 310 的容器中的进程。

【讨论】:

    猜你喜欢
    • 2016-05-05
    • 2019-06-10
    • 2019-06-09
    • 2022-11-16
    • 2019-10-05
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多