2012-10-26 3 views
0

이 내가 현재는 GWT, RestfulSpring Framework 환경을 가지고 작업하고 있어요 issue- 봄 RestTemplate

의 연속이다.

두 가지 응용 프로그램이 있습니다. 응용 프로그램 # 1 Restful Webservice를 통해 일부 정보를 노출하고 Application # 2을 사용하여 해당 서비스를 사용하고 GWT에 세부 정보를 표시합니다.

응용 프로그램 # 2의 경우 Spring RestTemplate을 사용하여 Restful Webservice을 소비하고 인터페이스를 통해 세부 정보 목록을 반환합니다. GWT 측에서는 데이터 목록을 GWT-DataGrid으로 설정하기 위해 일부 DataListProvider이있었습니다.

이제 문제는 내가 (이 방법에 List<Details>을 반환) 내 DetailService 클래스와 GWT DataListProvider와의 상호 작용을 만드는 방법을 알고하지 않습니다이다. 내가 메서드에서 서비스 클래스를 직접 호출 할 때 GWT Compile 중에 오류가 발생했습니다.입니다.이 클래스는 간접적으로 Spring Libraries 클래스를 호출하므로 GWT는이를 컴파일 할 수 없습니다.

com.google.gwt.dev.jjs.InternalCompilerException: Failed to get JNode 
    at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:140) 
    at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:71) 
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.getType(BuildTypeMap.java:730) 
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.createField(BuildTypeMap.java:570) 
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.access$300(BuildTypeMap.java:99) 
    at com.google.gwt.dev.jjs.impl.BuildTypeMap$BuildDeclMapVisitor.visit(BuildTypeMap.java:180) 
    at org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.traverse(FieldDeclaration.java:285) 
    at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1232) 
    at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:687) 
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.createPeersForNonTypeDecls(BuildTypeMap.java:637) 
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.exec(BuildTypeMap.java:514) 
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.exec(BuildTypeMap.java:523) 
    at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:599) 
    at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:33) 
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:284) 
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:233) 
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:145) 
    at com.google.gwt.dev.Compiler.run(Compiler.java:232) 
    at com.google.gwt.dev.Compiler.run(Compiler.java:198) 
    at com.google.gwt.dev.Compiler$1.run(Compiler.java:170) 
    at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88) 
    at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82) 
    at com.google.gwt.dev.Compiler.main(Compiler.java:177) 
     [ERROR] <no source info>: public class org.springframework.web.client.RestTemplate 
    extends org.springframework.http.client.support.InterceptingHttpAccessor 
    implements : Unresolved type org.springframework.web.client.RestOperations 

이 서비스 클래스와 GWT 간의 상호 작용 방법을 제안하십시오.

+0

소스 코드/config와 스택 추적을 제공해주십시오. –

+0

@AndersRostgaardBystrup : POST에서 이러한 세부 정보를 추가했습니다. – omega

답변

0

클라이언트 측 코드에서 스프링을 사용할 수 없습니다. 사용할

옵션 :

비동기 인터페이스 (APP # 2의 서버 측에) 서비스 제어기에 GWT-RPC 호출을 발표자에 콜백. 내부에는 RestTemplate을 사용하는 @RequestMapping 주석이있는 메소드가있을 수 있습니다.

발표자에게 RequestFactory를 사용하고 페이로드에 GWT 오버레이 기능을 사용하게하십시오.