BPEL 模块中的外部 WSDL:地址已在使用中 8080

Posted

技术标签:

【中文标题】BPEL 模块中的外部 WSDL:地址已在使用中 8080【英文标题】:External WSDL in BPEL Module: Address already in use 8080 【发布时间】:2015-03-31 21:24:21 【问题描述】:

我在我的 BPEL 模块中添加了外部 WSDL,该模块位于 GlassFish 4 使用的 localhost:8080 上。我在 localhost:52059 上为 HTTP 运行 GlassFish v2.x。 GF2 和 GF4 位于不同的域上。他们都工作正常。但是,当我部署使用 BPEL 模块的复合应用程序时,该模块在 localhost:8080 上引用外部 WSDL,我收到以下错误。

ERROR: Successful execution of Start: RetailerBPELModuleCA
WARNING: (JBIMA0405) Start of service assembly RetailerBPELModuleCA succeeded partially; some service units failed to start.
    * Component: sun-http-binding
      ERROR: (SOAPBC_START_1) HTTPBC-E00205: Start failed. java.lang.Exception: LifecycleException:  PWC3985: Protocol handler initialization failed: java.net.BindException: Address already in use: 8080
    * Component: sun-bpel-engine
      INFO: (JBIMA0409) Lifecycle operation start succeeded for Service Unit RetailerBPELModuleCA-RetailerBPELModule.
Cleaning up...
[stop-service-assembly]
    Stopping a service assembly...
        host=localhost
        port=5000
        name=RetailerBPELModuleCA
[shutdown-service-assembly]
    Shutting down a service assembly...
        host=localhost
        port=5000
        name=RetailerBPELModuleCA
[undeploy-service-assembly]
    Undeploying a service assembly...
        host=localhost
        port=5000
        name=RetailerBPELModuleCA

知道它可能是什么吗?

这只发生在使用带有外部 WSDL 的 BPEL 模块的复合应用程序中。怎么会?

【问题讨论】:

【参考方案1】:

堆栈跟踪表明 BPEL 模块想要启动一个侦听端口 8080 的服务(可能是 web 服务的东西),正如您所描述的,Glassfish 正在使用该端口。

要解决此问题,您可以更改 Glassfish 的端口或 sun-http-binding 组件之一。

我不知道如何配置 BPEL 模块,但 Oracle docs about HTTP Binding Component Runtime Properties 表明您可以通过 NetBeans 配置端口。

另请参阅:

How do I bind web service to a particular glassfish port? How to run glassfish 4 on port 80 instead of 8080. root acess is not an issue.?

【讨论】:

我将 sun-http-binding 的 HTTP 端口设置为 9080。之前设置为 -1。不幸的是,同样的错误消息仍然存在。 您是否尝试更改 Glassfish 端口? 我将 Glassfish 4 的端口更改为管理员的 7071、http 的 7070、https 的 7072。现在我得到“地址已在使用中:7070”。在终端上执行“lsof -i :7070”表示 *:arcp (LISTEN) 使用 7070 我的 Glassfish 2 端口是 5000 - admin、52059 - http 和 52058 - https。但是,当我启动 Glassfish 2 时,无论 Glassfish 4 的 HTTP 设置如何,它似乎都接管了 7070 或 8080。

以上是关于BPEL 模块中的外部 WSDL:地址已在使用中 8080的主要内容,如果未能解决你的问题,请参考以下文章

wcf服务元数据WSDL中的地址为请求方地址不再是主机名

Oracle:BPEL->Java Callout->BPEL:如何使它们属于EM中的同一个调用树?

WebService请求wsdl外部接口

ABAP调用外部WebService

怎么查看开源wsdl 接口中的方法

接口测试基础