1

我在 Glassfish 3.1.2 中为 Ajax 应用程序创建了一个代理 RESTful Web 服务。我在 Glassfish 中定义了一个 RESTful Web 服务,然后调用外部 RESTful Web 服务。我使用 Jersey Client 类来调用外部 Web 服务:

    ClientConfig config = new DefaultClientConfig();
    Client client = Client.create(config);          
    MultivaluedMap queryParams = new MultivaluedMapImpl();


    queryParams.add("dtype", datatypeStr);
    queryParams.add("bbox", boundingBoxStr);
    WebResource webResource = client.resource(callURL);
    WebResource webResource = client.resource(callURL);

    ClientResponse response =  webResource.queryParams(queryParams).accept("application/atom+xml").get(ClientResponse.class);

上面的代码在独立客户端中运行,它也适用于 Glassfish 3.1,但在 Glassfish 3.1.2 中它会因未经授权的错误而失败。

所以我想我有两个问题,使用 Jersey 客户端 jar 是在 Glassfish 中创建代理 Web 服务的最佳方式吗?Glassfish 3.1.2 中的更改导致了未经授权的错误。

我读到 Glassfish 3.1.2 中添加了CSRF 保护,但这只会影响调用部署到 Glassfish 的 RESTful Web 服务的客户端,而不是从 Glassfish 调用外部 Web 服务。

在此先感谢您的帮助。

4

0 回答 0