OpenESB GlassFish - WSDL导入不正确的位置URL。

时间:2013-04-09 14:39:18

标签: web-services soap wsdl glassfish open-esb

我正在尝试将我的复合项目部署到具有域

的生产环境

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服务客户端时,它会失败。

1 个答案:

答案 0 :(得分:1)

在GlassFish ESB v2.2中,与之前的GlassFish ESB v2.1一样,URL中指定的主机名称很重要。在指定“localhost”作为主机名时可能会生成不同的工件,在指定主机的FQDN时会有所不同,在指定别名主机名时会有所不同(FQDN的替代名称,可能在“hosts”文件中指定。如果别名引用到127.0.0.1工件未正确生成。

最佳策略是使用部署服务的主机的FQDN。这会生成正确的工件。

GlassFish ESB WS Security Chapter 5