2013-08-01 189 views
0

我的服务器代码如下(它使用resteasy)。响应来自我使用restlet的nexus oss应用程序。该响应是由当服务器接收除外,它抛出异常Resteasy在getEntity()方法抛出异常

private <T> T get(String path, Class<T> responseClass) throws IntegratedAppFault { 

    ClientRequest clientRequest = new ClientRequest(this.mEndPoint + path); 
    addHeaderToRequest(clientRequest); 
    ClientResponse<T> response; 
    try { 
     response = clientRequest.get(responseClass); 
     if (response.getStatus() == 200) { 
      return response.getEntity(); // Line throwing exception 
     } else { 
      throw getFault(response); 
     } 
    } catch (Exception e) { 
     throw new IntegratedAppFault(e.getMessage()); 
    } 

以下的方法进行处理,它进入此方法,并最终在response.getEntity抛出异常()。唯一的例外是如下

javax.xml.bind.UnmarshalException:意想不到元件(URI: “”, 本地: “com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse”)。 预期元件是 < {http://www.collab.net/teamforge/integratedapp} CreateProjectConfigurationRequest>,< {http://www.collab.net/teamforge/integratedapp} CreateTemplateRequest>,< {http://www.collab.net/teamforge/integratedapp} CreateTemplatizedProjectConfigurationRequest>,< {http://www.collab.net/teamforge/integratedapp} CreateUserRequest>,< {http://www.collab.net/teamforge/integratedapp} DeleteProjectConfigurationRequest>,< {http://www.collab.net/teamforge/integratedapp} DetailedSCMPostCommitRequest>,< {http://www.collab.net/teamforge/integratedapp } DetailedSCMPreCommitRequest>,< {http://www.collab.net/teamforge/integratedapp} DetailedSCMPreCommitResponse>,< {http://www.collab.net/teamforge/integratedapp} EditProjectConfigurationRequest>,< {http://www.collab.net/teamforge/integratedapp} GetConfigurationParametersRequest>,< {http://www.collab.net/teamforge/integratedapp} GetConfigurationParametersResponse>

我通过代码浏览发现在bit.ly/1ed06bS在的RESTEasy源此方法getEntity方法。但没有任何线索为什么这是抛出异常。

我只是做了正确工作的场景(不抛出异常)和错误的工作场景(上面提到的这种场景)的对象值的比较,并没有发现对象值的差异。

我将附上调试日志。第一列是正确的工作场景,第二列是错误的工作场景。 PDF格式是这里http://www.scribd.com/doc/157390722/Debug

能否请你帮我找到为什么根据您收到的异常此行抛出异常

回答

1

,JAXB期待您的请求XML开始与下面的标签之一,它才不是。

  1. CreateProjectConfigurationRequest
  2. CreateTemplateRequest
  3. CreateTemplatizedProjectConfigurationRequest
  4. CreateUserRequest
  5. DeleteProjectConfigurationRequest
  6. DetailedSCMPostCommitRequest
  7. DetailedSCMPostCommitResponse
  8. DetailedSCMPreC ommitRequest
  9. DetailedSCMPreCommitResponse
  10. EditProjectConfigurationRequest
  11. GetConfigurationParametersRequest
  12. GetConfigurationParametersResponse