1

我已将 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?

非常感谢 -

4

1 回答 1

0

在 JBoss 5.1.0 GA 中查看 jbossws.deployer/META-INF/jboss-beans.xml 并注释以下行 ${jboss.bind.address}

它是 100% 工作的

或查看以下 http://community.jboss.org/wiki/JBossWS-UserGuide

于 2010-11-30T12:37:55.603 回答