相关疑难解决方法(0)

JAXB异常:此上下文不知道的类

当我调用使用CXF构建的特定的restful服务方法时,我收到以下错误,有人知道为什么以及如何解决它?

发生JAXBException:类com.octory.ws.dto.ProfileDto也不是它的任何超类都知道这个上下文...

以下是服务方法和相关的DTO:

public class Service {
   public Response results() {
   Collection<ProfileDto> profilesDto = new ArrayList<ProfileDto>();
   ...
   SearchResultDto srd = new SearchResultDto();
   srd.setResultEntities(profilesDto); // Setting profilesDto collection as resultEntities
   srd.setResultSize(resultSize);
   return Response.ok(srd).build();
   }
}
Run Code Online (Sandbox Code Playgroud)

SearchResultDto:

@XmlRootElement(name="searchResult")
public class SearchResultDto {
    private Collection resultEntities;
    private int resultSize;

    public SearchResultDto() { }

    @XmlElementWrapper(name="resultEntities")
    public Collection getResultEntities() {
        return resultEntities;
    }

    public void setResultEntities(Collection resultEntities) {
        this.resultEntities = resultEntities;
    }

    public int getResultSize() {
        return resultSize;
    }

    public void …
Run Code Online (Sandbox Code Playgroud)

java web-services cxf jaxb

36
推荐指数
4
解决办法
9万
查看次数

Spring Hateoas,PathVariable和SaxSerialization

我实际上正在开发一个小应用程序来训练,我在使用SpringHateoas使用PathVariable时遇到了问题.

事实上,当我使用类似的东西:

   @RequestMapping(value = "/directories/{idDirectory}", method = RequestMethod.GET)
    public DirectoryDTO findById(@PathVariable String idDirectory) {
        DirectoryEntity directoryEntity = directoryService.findById(idDirectory);
        DirectoryDTO directoryDto = new DirectoryDTO(directoryEntity);
        directoryDto.add(linkTo(methodOn(DirectoryController.class).findById(idDirectory)).withSelfRel());
        return directoryDto;
    }
Run Code Online (Sandbox Code Playgroud)

我有一个像下面这样的错误:

[com.sun.istack.internal.SAXException2]:无法将DirectoryDTO类型封送到元素,因为它缺少注释

这是我的DirectoryEntity:

@Document(collection = "directory")
public class DirectoryEntity {

    @Id
    private String id;
    private String name;
    private String path;
    private List<DirectoryEntity> childrenDirectories;
    private DirectoryEntity parentDirectory;
    private List<FileEntity> fileEntities;

/* Get/set omitted */
}
Run Code Online (Sandbox Code Playgroud)

和DTO:

public class DirectoryDTO extends Resource<DirectoryEntity> {


    public DirectoryDTO(DirectoryEntity content, Link... links) {
        super(content, links);
    }

    public DirectoryDTO(DirectoryEntity content, …
Run Code Online (Sandbox Code Playgroud)

java spring

7
推荐指数
1
解决办法
430
查看次数

标签 统计

java ×2

cxf ×1

jaxb ×1

spring ×1

web-services ×1