2013-08-01 147 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