我正在尝试将我的复合项目部署到具有域
的生产环境esbservices.mydomain.com
我通过此URL成功从我的域中获取WSDL ...即
esbservices.mydomain.com/myproject/services/myservice?wsdl
然而,WSDL文档(甚至通过域访问)包含对具有本地网络/计算机路径的其他WSDL文档的导入。
<definitions targetNamespace="my-integration-composite"><import namespace="http://j2ee.netbeans.org/wsdl/my-integration-services/new-transactions" location="http://my-pc-name.com:9080/my-integration-composite-sun-http-binding/my-integration-services/channel/smsc/inbound/wsdl/new-transactions.wsdl">
</import><import namespace="http://j2ee.netbeans.org/my/wsdl/my-transactions" location="http://my-pc-name.com:9080/my-integration-composite-sun-http-binding/my-integration-services/transaction/common/wsdl/my-transactions.wsdl">
</import><import namespace="http://j2ee.netbeans.org/wsdl/my-integration-services/other-transactions" location="http://my-pc-name.com:9080/my-integration-composite-sun-http-binding/my-integration-services/channel/ivr/inbound/wsdl/other-transactions.wsdl">
</import><portType name="dummyCasaPortType">
</portType>
我想摆脱这个 http://my-pc-name.com:9080/ ,并且能够使用http://esbservices.mydomain.com/代替。因为当有人试图从其他网络生成Web服务客户端时,它会失败。
答案 0 :(得分:1)
在GlassFish ESB v2.2中,与之前的GlassFish ESB v2.1一样,URL中指定的主机名称很重要。在指定“localhost”作为主机名时可能会生成不同的工件,在指定主机的FQDN时会有所不同,在指定别名主机名时会有所不同(FQDN的替代名称,可能在“hosts”文件中指定。如果别名引用到127.0.0.1工件未正确生成。
最佳策略是使用部署服务的主机的FQDN。这会生成正确的工件。