2010-04-19 327 views
1

我已經將web服務部署到在Amazon EC2上運行的Jboss實例。 webservice在本地工作正常,但是當我部署在EC2上,並轉到/ jbossws/services頁面時,webservice的Endpoint Address是ec2實例的私有DNS(domU-XXXX等),而不是公共dns (我希望它是)。亞馬遜EC2和jbossws

我已經嘗試通過將私有主機名更改爲公共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是內部DNS ec2實例。

wsdl是自動生成的 - 是否有我可以使用的JAXB註釋,以便我可以強制生成的wsdl使用EC2實例的公共dns?

非常感謝 -

回答

0

在JBoss中5.1.0 GA看 jbossws.deployer/META-INF /的jboss-beans.xml文件 和註釋以下行 $ {} jboss.bind.address

它是100%的工作

或請參閱下面的 http://community.jboss.org/wiki/JBossWS-UserGuide

+1

也看到http://community.jboss.org/wiki/JBossWS-UserGuide – 2010-11-30 12:40:01