Spring boot 应用程序无法启动,由于迁移到 2.4.5 版本,SOAP 端点映射了两次

问题描述

在迁移到最新版本 2.4.5 后,Spring Boot 应用程序在 spring 版本 2.2.x 上运行良好,我们面临的问题是在第二次尝试 spring boot 引发端点问题后,SOAP 端点被映射两次已经映射!

2021-05-07 13:33:25.612  INFO 29824 --- [  restartedMain] Initializer : The following profiles are active: local,docker
2021-05-07 13:33:26.443  INFO 29824 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data MongoDB repositories in DEFAULT mode.
2021-05-07 13:33:26.463  INFO 29824 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 16 ms. Found 0 MongoDB repository interfaces.
2021-05-07 13:33:26.713  INFO 29824 --- [  restartedMain] o.s.cloud.context.scope.GenericScope     : beanfactory id=52971777-760c-3abe-9edf-c1b3c9af789a
2021-05-07 13:33:26.723  INFO 29824 --- [  restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'webServiceConfig' of type [WebServiceConfig$$EnhancerBySpringcglib$$84164506] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2021-05-07 13:33:26.766  INFO 29824 --- [  restartedMain] .w.s.a.s.AnnotationActionEndpointMapping : Supporting [WS-Addressing August 2004,WS-Addressing 1.0]
2021-05-07 13:33:26.773  INFO 29824 --- [  restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'faultMapperMapStructImpl' of type [FaultMapperMapStructImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2021-05-07 13:33:26.865  INFO 29824 --- [  restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'VWSoapFaultResolver' of type [VWSoapFaultResolver] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2021-05-07 13:33:26.867  INFO 29824 --- [  restartedMain] .w.s.a.s.AnnotationActionEndpointMapping : Supporting [VWAddressingVersion@7ffdfe1,VWAddressingVersion@4a6849df]
2021-05-07 13:33:27.232  INFO 29824 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 20005 (http)
2021-05-07 13:33:27.240  INFO 29824 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-05-07 13:33:27.240  INFO 29824 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.45]
2021-05-07 13:33:27.313  INFO 29824 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-05-07 13:33:27.313  INFO 29824 --- [  restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1684 ms
2021-05-07 13:33:27.450  INFO 29824 --- [  restartedMain] o.s.b.a.e.web.ServletEndpointRegistrar   : Registered '/actuator/jolokia' to jolokia-actuator-endpoint
2021-05-07 13:33:27.554 DEBUG 29824 --- [  restartedMain] .w.s.a.s.AnnotationActionEndpointMapping : Mapped Action [ProcessAliveTest] onto endpoint [public javax.xml.bind.JAXBElement<> ]
2021-05-07 13:33:27.555  WARN 29824 --- [  restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processAliveTestEndpoint' defined in file [ProcessAliveTestEndpoint.class]: Initialization of bean Failed; nested exception is java.lang.IllegalStateException: Cannot map endpoint [public javax.xml.bind.JAXBElement<AckNowledgeAliveTestType> ProcessAliveTestType)] to action [ProcessAliveTest]: There is already endpoint [public javax.xml.bind.JAXBElement<.AckNowledgeAliveTestType> processAliveTest(ProcessAliveTestType)] mapped.
2021-05-07 13:33:27.557  INFO 29824 --- [  restartedMain] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2021-05-07 13:33:27.573  INFO 29824 --- [  restartedMain] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-05-07 13:33:27.600 ERROR 29824 --- [  restartedMain] o.s.boot.SpringApplication               : Application run Failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processAliveTestEndpoint' defined in file [ProcessAliveTestEndpoint.class]: Initialization of bean Failed; nested exception is java.lang.IllegalStateException: Cannot map endpoint [public javax.xml.bind.JAXBElement<AckNowledgeAliveTestType> processAliveTest(ProcessAliveTestType)] to action [ProcessAliveTest]: There is already endpoint [public javax.xml.bind.JAXBElement<AckNowledgeAliveTestType> processAliveTest(ProcessAliveTestType)] mapped.
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.doCreateBean(AbstractAutowireCapablebeanfactory.java:610) ~[spring-beans-5.3.6.jar:5.3.6]
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.createBean(AbstractAutowireCapablebeanfactory.java:524) ~[spring-beans-5.3.6.jar:5.3.6]
    at org.springframework.beans.factory.support.Abstractbeanfactory.lambda$doGetBean$0(Abstractbeanfactory.java:335) ~[spring-beans-5.3.6.jar:5.3.6]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.6.jar:5.3.6]
    at org.springframework.beans.factory.support.Abstractbeanfactory.doGetBean(Abstractbeanfactory.java:333) ~[spring-beans-5.3.6.jar:5.3.6]
    at org.springframework.beans.factory.support.Abstractbeanfactory.getBean(Abstractbeanfactory.java:208) ~[spring-beans-5.3.6.jar:5.3.6]
    at org.springframework.beans.factory.support.DefaultListablebeanfactory.preInstantiateSingletons(DefaultListablebeanfactory.java:944) ~[spring-beans-5.3.6.jar:5.3.6]
    at org.springframework.context.support.AbstractApplicationContext.finishbeanfactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.6.jar:5.3.6]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.6.jar:5.3.6]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[spring-boot-2.4.5.jar:2.4.5]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:782) ~[spring-boot-2.4.5.jar:2.4.5]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:774) ~[spring-boot-2.4.5.jar:2.4.5]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-2.4.5.jar:2.4.5]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:339) ~[spring-boot-2.4.5.jar:2.4.5]
    at main(CalculationinformationServiceInitializer.java:40) ~[main/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.4.5.jar:2.4.5]
Caused by: java.lang.IllegalStateException: Cannot map endpoint [public javax.xml.bind.JAXBElement<AckNowledgeAliveTestType> processAliveTest(ProcessAliveTestType)] to action [ProcessAliveTest]: There is already endpoint [public javax.xml.bind.JAXBElement<AckNowledgeAliveTestType> processAliveTest(ProcessAliveTestType)] mapped.
    at org.springframework.ws.soap.addressing.server.AbstractActionEndpointMapping.registerEndpoint(AbstractActionEndpointMapping.java:144) ~[spring-ws-core-3.0.10.RELEASE.jar:na]
    at org.springframework.ws.soap.addressing.server.AbstractActionMethodEndpointMapping.registerMethods(AbstractActionMethodEndpointMapping.java:52) ~[spring-ws-core-3.0.10.RELEASE.jar:na]
    at org.springframework.ws.soap.addressing.server.AnnotationActionEndpointMapping.postProcessAfterInitialization(AnnotationActionEndpointMapping.java:150) ~[spring-ws-core-3.0.10.RELEASE.jar:na]
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapablebeanfactory.java:437) ~[spring-beans-5.3.6.jar:5.3.6]
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.initializeBean(AbstractAutowireCapablebeanfactory.java:1790) ~[spring-beans-5.3.6.jar:5.3.6]
    at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.doCreateBean(AbstractAutowireCapablebeanfactory.java:602) ~[spring-beans-5.3.6.jar:5.3.6]
    ... 19 common frames omitted

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)