WSO2 MI 4.0.0容器启动失败:Axis2HttpTransportSender类无法找到
问题:WSO2 MI 4.0.0容器启动失败——Axis2HttpTransportSender类找不到
使用WSO2 Integration Studio 8.2创建API并生成MI 4.0.0版本的Docker镜像后,运行容器时出现启动失败错误,具体日志如下:
2023-11-03 23:59:56 [2023-11-03 16:59:56,933] INFO {EventAdminConfigurationNotifier} - Logging configuration changed. (Event Admin service unavailable - no notification sent). 2023-11-03 23:59:58 [2023-11-03 16:59:58,282] FATAL {CoreServerInitializer} - WSO2 Carbon initialization Failed org.apache.axis2.AxisFault: Exception occured while loading the Axis configuration from /home/wso2carbon/wso2mi-4.0.0/conf/axis2/axis2.xml 2023-11-03 23:59:58 at org.wso2.micro.core.CarbonAxisConfigurator.getAxisConfiguration(CarbonAxisConfigurator.java:181) 2023-11-03 23:59:58 at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64) 2023-11-03 23:59:58 at org.wso2.micro.core.CarbonConfigurationContextFactory.createNewConfigurationContext(CarbonConfigurationContextFactory.java:66) 2023-11-03 23:59:58 at org.wso2.micro.integrator.core.internal.CoreServerInitializer.initializeCarbon(CoreServerInitializer.java:208) 2023-11-03 23:59:58 at org.wso2.micro.integrator.core.internal.CoreServerInitializer.initMIServer(CoreServerInitializer.java:125) 2023-11-03 23:59:58 at org.wso2.micro.integrator.core.internal.Activator.start(Activator.java:82) 2023-11-03 23:59:58 at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:842) 2023-11-03 23:59:58 at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) 2023-11-03 23:59:58 at java.base/java.security.AccessController.doPrivileged(Native Method) 2023-11-03 23:59:58 at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:834) 2023-11-03 23:59:58 at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:791) 2023-11-03 23:59:58 at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1013) 2023-11-03 23:59:58 at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:365) 2023-11-03 23:59:58 at org.eclipse.osgi.container.Module.doStart(Module.java:598) 2023-11-03 23:59:58 at org.eclipse.osgi.container.Module.start(Module.java:462) 2023-11-03 23:59:58 at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$1.run(ModuleContainer.java:1820) 2023-11-03 23:59:58 at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$2$1.execute(EquinoxContainerAdaptor.java:150) 2023-11-03 23:59:58 at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1813) 2023-11-03 23:59:58 at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1770) 2023-11-03 23:59:58 at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1735) 2023-11-03 23:59:58 at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1661) 2023-11-03 23:59:58 at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) 2023-11-03 23:59:58 at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) 2023-11-03 23:59:58 at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) 2023-11-03 23:59:58 Caused by: org.apache.axis2.deployment.DeploymentException: org.apache.synapse.transport.netty.sender.Axis2HttpTransportSender cannot be found by axis2_1.6.1.wso2v63 2023-11-03 23:59:58 at org.apache.axis2.deployment.AxisConfigBuilder.processTransportSenders(AxisConfigBuilder.java:718) 2023-11-03 23:59:58 at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:125) 2023-11-03 23:59:58 at org.wso2.micro.core.CarbonAxisConfigurator.populateAxisConfiguration(CarbonAxisConfigurator.java:312) 2023-11-03 23:59:58 at org.wso2.micro.core.CarbonAxisConfigurator.getAxisConfiguration(CarbonAxisConfigurator.java:179) 2023-11-03 23:59:58 ... 23 more 2023-11-03 23:59:58 Caused by: java.lang.ClassNotFoundException: org.apache.synapse.transport.netty.sender.Axis2HttpTransportSender cannot be found by axis2_1.6.1.wso2v63 2023-11-03 23:59:58 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:512) 2023-11-03 23:59:58 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:423) 2023-11-03 23:59:58 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:415) 2023-11-03 23:59:58 at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:155) 2023-11-03 23:59:58 at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) 2023-11-03 23:59:58 at java.base/java.lang.Class.forName0(Native Method) 2023-11-03 23:59:58 at java.base/java.lang.Class.forName(Class.java:315) 2023-11-03 23:59:58 at org.apache.axis2.util.Loader.loadClass(Loader.java:261) 2023-11-03 23:59:58 at org.apache.axis2.deployment.AxisConfigBuilder.processTransportSenders(AxisConfigBuilder.java:692) 2023-11-03 23:59:58 ... 26 more
问题原因
- 核心问题:org.apache.synapse.transport.netty.sender.Axis2HttpTransportSender类无法被axis2_1.6.1.wso2v63 bundle加载,属于类路径依赖缺失
- 常见触发场景:
- Integration Studio生成Docker镜像时,遗漏了Netty传输相关的依赖包
- axis2.xml配置中引用了该传输发送器,但对应的bundle未被正确打包进镜像
- Integration Studio 8.2与MI 4.0.0的版本组合存在兼容性问题,导致依赖打包不全
解决办法
- 补充Netty传输依赖
从官方MI 4.0.0安装包的repository/components/plugins目录中,找到org.apache.synapse.transport.netty_*.jar文件,手动拷贝到Docker镜像的对应目录;或者在Integration Studio项目的Docker构建配置中,确保该依赖被包含 - 修改axis2.xml配置
如果不需要Netty传输,可以临时注释掉axis2.xml中引用Axis2HttpTransportSender的配置段,改用默认的HTTP传输发送器 - 重新生成Docker镜像时确保依赖完整
在Integration Studio的Docker构建配置中,勾选"Include all required dependencies"选项,或者手动将缺失的Netty传输bundle添加到构建清单 - 验证版本兼容性
确认Integration Studio 8.2是否与MI 4.0.0官方兼容,若存在不匹配,升级或降级到官方推荐的版本组合
内容的提问来源于stack exchange,提问作者Chu UThouArt
相关产品推荐
相关产品推荐

