我已将 Web 服务部署到在 Amazon EC2 上运行的 Jboss 实例。Web 服务在本地运行良好,但是当我在 EC2 上部署并转到 /jbossws/services 页面时,Web 服务的端点地址是 ec2 实例的私有 DNS(domU-XXXX 等),而不是公共 dns (我希望它是)。
我尝试通过将私有主机名更改为公共 IP 来加载 wsdl;这行得通,但是当我尝试调用任何操作时,我得到一个 HostNotFoundException,我猜是因为生成的 wsdl 有节:
<service name='XXXService'>
<port binding='tns:XXXBinding' name='XXXPort'>
<soap:address location='http://domU-XX-XX-XX-XX-XX-XX.compute-1.internal:8080/xx/xx/xx'/>
</port>
</service>
其中http://domU-XX-XX-XX-XX-XX-XX.compute-1.internal是 ec2 实例的内部 dns。
wsdl 是自动生成的 - 是否可以使用 JAXB 注释,以便强制生成的 wsdl 使用 EC2 实例的公共 dns?
非常感谢 -