我已将 Web 服务部署到在 Amazon EC2 上运行的 Jboss 实例。 Web服务在本地工作正常,但是当我在EC2上部署并转到/jbossws/services页面时,Web服务的端点地址是ec2实例的私有DNS(domU-XXXX等...),而不是公共dns (我希望如此)。
我尝试通过将私有主机名更改为公共IP来加载wsdl;可行,但是当我尝试调用任何操作时,我得到 HostNotFoundException,我猜测是因为生成的 wsdl 具有以下节:
;
<端口绑定='tns:XXXBinding' name='XXXPort'>
其中 http:// domU-XX-XX-XX-XX-XX-XX.compute-1.internal 是 ec2 实例的内部 dns。
wsdl 是自动生成的 - 是否可以使用 JAXB 注释,以便强制生成的 wsdl 使用 EC2 实例的公共 dns?
非常感谢-
I've deployed a webservice to a Jboss instance running on Amazon EC2. The webservice works fine locally, but when I deploy on EC2, and go to the /jbossws/services page the Endpoint Address for the webservice is the private DNS of the ec2 instance (domU-X-X-X-X etc...), not the public dns (which I would like it to be).
I've tried loading the wsdl by changing the private hostname to the public IP; that works, but when I try to call any of the operations I get a HostNotFoundException, I'm guessing due to the fact that the generated wsdl has the stanza:
<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>
where http://domU-XX-XX-XX-XX-XX-XX.compute-1.internal is the internal dns of the ec2 instance.
The wsdl is auto generated - Is there a JAXB annotation I can use so that I can force the generated wsdl to use the public dns of the EC2 instance?
Many thanks -
发布评论
评论(1)
在 JBoss 5.1.0 GA 中查看
jbossws.deployer/META-INF/jboss-beans.xml
并评论以下行
${jboss.bind.address}
100% 有效
或看到以下内容
http://community.jboss.org/wiki/JBossWS-UserGuide
In JBoss 5.1.0 GA look at
jbossws.deployer/META-INF/jboss-beans.xml
and comment the following line
${jboss.bind.address}
it is 100% worked
or see the following
http://community.jboss.org/wiki/JBossWS-UserGuide