当前位置: 首页 > 知识库问答 >
问题:

apache cxf rest服务中的Spring异常

公冶龙野
2023-03-14

我正在学习如何使用apache cxf构建rest服务,并学习了一个教程。但当我运行代码时,我遇到了以下异常

我的cxf.xml文件是这样的

    <?xml version="1.0" encoding="UTF-8"?>

<beans xmlns:jaxrs="http://cxf.apache.org/jaxrs" 
xmlns:util="http://www.springframework.org/schema/util" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://www.springframework.org/schema/beans" 
xsi:schemalocation=
           "http://www.springframework.org/schema/beans      
            http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 
            http://www.springframework.org/schema/tx  
            http://www.springframework.org/schema/tx/spring-tx-4.2.xsd 
            http://www.springframework.org/schema/context  
            http://www.springframework.org/schema/context/spring-context-4.2.xsd
            http://cxf.apache.org/jaxrs 
            http://cxf.apache.org/schemas/jaxrs.xsd">   

<import resource="classpath:META-INF/cxf/cxf.xml">  
<import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml">  
<import resource="classpath:META-INF/cxf/cxf-servlet.xml">  
<jaxrs:server address="/" id="connectionService">  

 <jaxrs:servicebeans>             
  <ref bean="order">    </ref></jaxrs:servicebeans> 

    <jaxrs:extensionmappings>    
    <entry key="xml" value="application/xml">   
    </entry></jaxrs:extensionmappings>  
    </jaxrs:server> <bean class="com.example.rest.OrderInfoImpl" id="order">
    </bean>

    </import></import></import></beans>

请帮我解决这个问题。

共有1个答案

孟乐逸
2023-03-14

您在import类中声明了jaxrs bean,这是错误的,下面是更新的beans.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:jaxrs="http://cxf.apache.org/jaxrs" 
       xmlns:util="http://www.springframework.org/schema/util" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xmlns="http://www.springframework.org/schema/beans" 
       xsi:schemalocation=
           "http://www.springframework.org/schema/beans      
            http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 
            http://www.springframework.org/schema/tx  
            http://www.springframework.org/schema/tx/spring-tx-4.2.xsd 
            http://www.springframework.org/schema/context  
            http://www.springframework.org/schema/context/spring-context-4.2.xsd
            http://cxf.apache.org/jaxrs 
            http://cxf.apache.org/schemas/jaxrs.xsd">   

    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" /> 
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

    <jaxrs:server address="/" id="connectionService">  
        <jaxrs:servicebeans>             
            <ref bean="order">    
            </ref>
        </jaxrs:servicebeans> 
        <jaxrs:extensionmappings> 
            <entry key="xml" value="application/xml"></entry>
        </jaxrs:extensionmappings>  
    </jaxrs:server> 

    <bean class="com.example.rest.OrderInfoImpl" id="order" />
</beans>
 类似资料:
  • 因此,我在Spring Boot服务中定义了各种APIendpoint,它们抛出各种自定义异常。但我无法区分已检查和未检查的执行。 那么,我的自定义例外是要检查还是不检查? 示例: UserNotFoundException EmailAlreadyExistsException JWTTokenMalformedException 数据库NodeFailureException 这些异常由Spr

  • 我在基于Spring Boot的Rest服务中定义了一个全局异常处理: 那么我如何在我的应用程序中定义一个自定义的异常响应。

  • 问题内容: 我正在尝试建立一个大型的REST服务服务器。我们正在使用Spring Boot 1.2.1,Spring 4.1.5和Java8。我们的控制器正在实现@RestController和标准的@RequestMapping注释。 我的问题是Spring Boot为控制器异常设置了默认重定向到/error。从文档: Spring Boot默认提供一个/ error映射,以一种明智的方式处理所

  • 我正在尝试建立一个大型的REST服务服务器。我们使用的是spring boot 1.2.1 spring 4.1.5和Java 8。我们的控制器实现了@RestController和标准的@RequestMapping注释。 我的问题是,spring boot将控制器异常设置为的默认重定向。从文档中: 默认情况下,spring boot提供了一个/error映射,它以一种合理的方式处理所有错误,并

  • 我正在使用Spring JpaRepository在我的一个应用程序屏幕中实现CRUD。作为其中的一部分,我正在开发一个功能,用户可以保存所有汽车实体或没有(应该回滚)到数据库。我不确定如何使用Spring Boot、Spring Rest和Spring JPA实现此功能。 下面是我的源代码。 除此之外,我还得到了一个类似 请帮帮我。谢谢你。

  • Java异常处理分为错误、已检查异常和未检查异常。这个问题是关于例外的。 正常的Java异常处理是扩展检查异常的异常类,并通过考虑异常层次结构来处理您需要的异常。 例如: 但是我看到了主要的Spring书籍,甚至在Spring boot中提到的Internet教程中,以及在微服务的上下文中,总是从RuntimeException类扩展而来,即使使用@ControllerAdvice。 这显然违反了