gpt4 book ai didi

java - 如何在本地主机上启动 cxf 服务但在 wsdl 中返回外部地址?

转载 作者:搜寻专家 更新时间:2023-11-01 03:14:46 24 4
gpt4 key购买 nike

我在 apache 后面使用 cxf 和 jetty 通过 soap 公开网络服务。目标是在 http://localhost:9000 开始 jetty 在所有情况下都有 apache 代理,但让自动生成的 wsdl 显示一个 soap:address 适合它运行的环境(例如 http://api.testing.example.comhttp://api.uat.example.comhttps://api.example.com )。似乎生成的 wsdl2java *Service 类接受 wsdl 的 URL,并且它必须作为开始的“位置”以及 soap:address 中返回的字符串。这必须是可配置的,但它并不明显,因此不胜感激。

更清楚一点 - 我通过 Spring 将“WsdlURL”传递给 Service 类的构造函数(到目前为止只有 http://localhost:9000 有效)。我需要这个问题的解决方案是在 cxf.cml、cxf-.xml、spring 或其他一些配置文件中而不是在代码中进行配置更改,因为此参数将根据它所处的环境进行更改已部署。

最佳答案

jaxws:endpoint 配置对象有一个“publishedEndpointURL”,如果指定,则使用它代替地址。知道 servlet 正确使用它,但不能 100% 确定在 jetty 上。他们共享大量代码,因此它可能会起作用。

关于java - 如何在本地主机上启动 cxf 服务但在 wsdl 中返回外部地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1750683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com