Java soap:地址位置属性-最佳实践

Java soap:地址位置属性-最佳实践,java,web-services,soap,wsdl,Java,Web Services,Soap,Wsdl,在wsdl:port中指定soap:address位置的最佳实践是什么,这样就不必为不同的环境(DEV/UAT/PROD)更改此位置?我没有找到任何“最佳实践”,但在我看来,最好的选择是将此服务的位置设置为通用域,并将端口设置为指向服务器的负载平衡器,这样您的WSDL中就会有如下内容: <service name="EventRouter"> <port name="EventRouterPort" binding="tns:EventRouterBinding">

在wsdl:port中指定soap:address位置的最佳实践是什么,这样就不必为不同的环境(DEV/UAT/PROD)更改此位置?

我没有找到任何“最佳实践”,但在我看来,最好的选择是将此服务的位置设置为通用域,并将端口设置为指向服务器的负载平衡器,这样您的WSDL中就会有如下内容:

<service name="EventRouter">
    <port name="EventRouterPort" binding="tns:EventRouterBinding">
        <soap:address
            location="http://esb.yourcompany.com:8888/EventManagement/BusinessService/EventRouterV1" />
    </port>
</service>

然后修改将部署服务的服务器的主机文件,以将IP地址映射到您创建的域名,例如:127.0.0.1 esb.yourcompany.com

在某些特定端口(如8888)创建负载平衡器,以将请求发送到服务器节点


这样,无论服务部署在何处,地址都可以在任何环境中工作

您是如何构建Web服务的?我使用JAX-WS,它会自动找出WSDL中正确的端点。我正在静态地构建WSDL。使用CXF生成代码。我对CXF了解不多。不过你可能想看看这个。