我已经将‘ve服务部署到运行在亚马逊EC2上的Jboss实例。webservice在本地运行良好,但是当我在EC2上部署并转到/jbossws/services页面时,webservice的端点地址是ec2实例的私有DNS (domU-X-X等),而不是公共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?
非常感谢-
发布于 2010-11-30 20:37:56
在JBoss 5.1.0 GA中,查看jbossws.deployer/META-INF/jboss-beans.xml并注释以下行${jboss.bind.address}
它是100%工作的
或者查看下面的http://community.jboss.org/wiki/JBossWS-UserGuide
https://stackoverflow.com/questions/2664991
复制相似问题