【问题标题】:java.lang.Exception: HV000041: Call to TraversableResolver.isReachable() threw an exceptionjava.lang.Exception: HV000041: 调用 TraversableResolver.isReachable() 引发异常
【发布时间】:2020-04-28 19:46:46
【问题描述】:

我们在 websphere 8.5 上遇到了下面提到的错误

2020-01-07 15:19:37 [] 调试 InvocableHandlerMethod.java.getMethodArgumentValues:174: 无法解析公共 org.springframework.http.ResponseEntity 中的参数 [1] com.mycorp.uap.controller.WorkFlowController.updateTask(int,com.mycorp.uap.rest.vo.TaskVO) throws java.lang.Exception: HV000041: 调用 TraversableResolver.isReachable() 引发异常。

方法定义为

public ResponseEntity<TaskVO> updateTask(@PathVariable("id") int taskId, @Valid @RequestBody(required=true) TaskVO task) throws Exception{

WEB-INF/lib 包含以下与hibernate、validation和spring相关的jar

hibernate-commons-annotations-5.1.0.Final.jar

hibernate-core-5.4.4.Final.jar

hibernate-ehcache-5.4.4.Final.jar

hibernate-jpa-2.1-api-1.0.2.jar

hibernate-validator-6.0.15.Final.jar

validation-api-2.0.1.Final.jar

spring-aop-5.1.9.RELEASE.jar

spring-beans-5.1.9.RELEASE.jar

spring-context-5.1.9.RELEASE.jar

spring-context-support-5.1.9.RELEASE.jar

spring-core-5.1.9.RELEASE.jar

spring-data-commons-2.1.9.RELEASE.jar

spring-data-jpa-2.1.9.RELEASE.jar

spring-expression-5.1.9.RELEASE.jar

springfox-core-2.1.2.jar

springfox-schema-2.1.2.jar

springfox-spi-2.1.2.jar

springfox-spring-web-2.1.2.jar

springfox-swagger2-2.1.2.jar

springfox-swagger-common-2.1.2.jar

springfox-swagger-ui-2.1.2.jar

spring-hateoas-0.17.0.RELEASE.jar

spring-jcl-5.1.9.RELEASE.jar

spring-jdbc-5.1.9.RELEASE.jar

spring-ldap-core-2.3.2.RELEASE.jar

spring-messaging-5.1.9.RELEASE.jar

spring-orm-5.1.9.RELEASE.jar

spring-plugin-core-1.2.0.RELEASE.jar

spring-plugin-metadata-1.2.0.RELEASE.jar

spring-security-acl-5.1.6.RELEASE.jar

spring-security-cas-client.jar

spring-security-config-5.1.6.RELEASE.jar

spring-security-core-5.1.6.RELEASE.jar

spring-security-ldap-5.1.6.RELEASE.jar

spring-security-oauth2-2.3.6.RELEASE.jar

spring-security-openid-5.1.6.RELEASE.jar

spring-security-taglibs-5.1.6.RELEASE.jar

spring-security-web-5.1.6.RELEASE.jar

spring-test-5.1.9.RELEASE.jar

spring-tx-5.1.9.RELEASE.jar

spring-web-5.1.9.RELEASE.jar

spring-webmvc-5.1.9.RELEASE.jar

spring-websocket-5.1.9.RELEASE.jar

ParentLast 设置存在于我们应用程序的 WebSphere 配置中,因此 WebSphere 应该优先考虑我们应用程序的 WEB-INF/lib 中存在的 jars

有一个类似的方法,在 @Valid 不存在的情况下可以正常工作。

我查看了有关堆栈溢出的类似问题,但无法完全得到正确的解决方案。

正确的解决方案应该是什么? 我们应该从 WEB-INF/lib 中删除任何 jar 包吗?

【问题讨论】:

    标签: validation websphere


    【解决方案1】:

    要解决此问题,您需要将 HibernatePersistenceProviderResolver 类添加到您的项目中:

    HibernatePersistenceProviderResolver.java

    并在onStartup方法的Application类中注册

    @Override 
    public void onStartup(ServletContext servletContext) throws ServletException {
        HibernatePersistenceProviderResolver.register();
        ... 
    }
    

    Reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-05
      • 2020-11-07
      • 1970-01-01
      • 2019-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多