我在apache后面使用cxf和jetty通过soap公开一个webservice。目标是在所有情况下都在http://localhost:9000上启动码头,并为其配备 apache 代理,但让自动生成的 wsdl 显示一个适合其运行环境的 soap:address(例如http://api.testing .example.com、http://api.uat.example.com、https://api.example.com)。似乎生成的 wsdl2java *Service 类接受 wsdl 的 URL,它必须作为开始的“位置”以及在 soap:address 中返回的字符串。这必须是可配置的,但它并不明显,因此不胜感激。
更清楚一点 - 我通过 Spring 将“WsdlURL”传递给 Service 类的构造函数(到目前为止只有http://localhost:9000有效)。我需要这个问题的解决方案是在 cxf.cml、cxf-.xml、spring 或其他一些配置文件中进行配置更改,而不是在代码中,因为这个参数会根据它所处的环境而改变部署。