Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 如何为自动将响应jaxbelement转换为xml创建spring控制器_Spring Mvc_Controller_Jaxb - Fatal编程技术网

Spring mvc 如何为自动将响应jaxbelement转换为xml创建spring控制器

Spring mvc 如何为自动将响应jaxbelement转换为xml创建spring控制器,spring-mvc,controller,jaxb,Spring Mvc,Controller,Jaxb,我有弹簧控制器: @Controller @RequestMapping(value="/fake_cp") public class FakeContentProvider { @RequestMapping(value="/request") public @ResponseBody JAXBElement<MetaRequest> request( @Valid @ModelAttribute FaceContentProviderCom

我有弹簧控制器:

@Controller
@RequestMapping(value="/fake_cp")
public class FakeContentProvider {
    @RequestMapping(value="/request")
    public @ResponseBody JAXBElement<MetaRequest> request(
            @Valid @ModelAttribute FaceContentProviderCommand command
            )
            throws Exception {
        ru.icb.cpaclick.controller.jaxb.MetaRequest request = new ru.icb.cpaclick.controller.jaxb.MetaRequest();
        request.setAccessUrl("http://accessUrl.ru");
        request.setErrorUrl("http://errorUrl.ru");
        request.setShortdesc("This is short desc");
        request.setLoadUrl("http://loadru.ru");
        request.setTariffclass(20501);
        return new ObjectFactory().createRequest(request);

}

如何为jaxbelement创建响应转换器,或者如何配置spring?

这可能不是在spring中处理REST或SOAP服务的最佳方法

spring mvc控制器最适合用于呈现网页。如果您想处理REST或SOAP服务,最好添加一个与Spring集成的ApacheXCFservlet

使用xjc(REST)和wsimport(SOAP),您可以使用契约优先的方法来生成与要公开的服务相关的类和接口。 基于此,您可以在xcf配置中创建一个端点,并且您的操作已经完成

org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.writeWithMessageConverters(AnnotationMethodHandlerAdapter.java:993)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.handleHttpEntityResponse(AnnotationMethodHandlerAdapter.java:952)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.getModelAndView(AnnotationMethodHandlerAdapter.java:878)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:428)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)
Could not find acceptable representation
org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
[application/octet-stream, */*, text/plain;charset=ISO-8859-1, */*, */*, application/xml, text/xml, application/*+xml, application/x-www-form-urlencoded, multipart/form-data, application/xml, text/xml, application/*+xml]
05.08.2011 10:57:08 org.apache.catalina.core.StandardContext reload