0

REST Web サービスを作成し、JSNOP を使用して GWT でアクセスしようとしました。結果文字列を取得できませんでした。

クロムで応答がありました。Inspect Element-> Network->get->Headers をクリックして、クロムから取得した以下

Request URL:http://localhost:8080/RestWeb/webresources/generic/get?callback=__gwt_jsonp__.P0.onSuccess
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Cookie:JSESSIONID=f2976e5c04000cb9b46eb992128f
Host:localhost:8080
Referer:http://127.0.0.1:8888/Mygwtclientapplication.html?gwt.codesvr=127.0.0.1:9997
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
Query String Parametersview URL encoded
callback:__gwt_jsonp__.P0.onSuccess
Response Headersview source
Content-Type:application/json
Date:Wed, 09 Jan 2013 12:00:40 GMT
Server:GlassFish Server Open Source Edition 3.1.2.2
Transfer-Encoding:chunked
X-Powered-By:Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.2.2 Java/Sun Microsystems Inc./1.6)

[Inspect Element] -> [Console] をクリックした後、次のエラーが発生しました

キャッチされていない SyntaxError: 予期しない識別子の取得: 1

Inspect Element -> Network -> get -> Response をクリックすると、次のデータが得られました

content from get method

以下に示す REST サービスのリソース クラス。

@Path("generic")
@WebService
public class GenericResource {

@Context
private UriInfo context;
@Context
private HttpServletResponse response;
private String content = "content";

/**
 * Creates a new instance of GenericResource
 */
public GenericResource() {
}

/**
 * Retrieves representation of an instance of
 * com.mycompany.resource.GenericResource
 *
 * @return an instance of java.lang.String
 */
@GET

@Path("/get")
@Produces("application/json,text/plain")
public String getXml() {
    System.out.println("GET");
    //response.addHeader(content, content);

    return this.content + " from get method";

}

以下は私のGWTエントリポイントクラスです

public class Mygwtclientapplication implements EntryPoint {



    public void onModuleLoad() {

        JsonpRequestBuilder jsonpRequestBuilder=new JsonpRequestBuilder();
        System.out.println(jsonpRequestBuilder.getCallbackParam());
        jsonpRequestBuilder.requestString("http://localhost:8080/RestWeb/webresources/generic/get", new AsyncCallback<String>() {

            @Override
            public void onFailure(Throwable caught) {

                System.out.println(caught.getMessage());

            }

            @Override
            public void onSuccess(String result) {

                System.out.println(result);


            }
        });

    }
}

実行後、Eclipseコンソールで次のようになりました

Timeout while calling http://localhost:8080/RestWeb/webresources/generic/get
4

0 に答える 0