【问题标题】:the web service does not work anymoreWeb 服务不再工作
【发布时间】:2015-12-03 20:09:44
【问题描述】:

在我的应用程序中,我必须使用路由 Web 服务,并且我使用 OSRM Server API

https://github.com/Project-OSRM/osrm-backend/wiki/Server-api

我不知道为什么,但直到昨天才知道 Server-api 工作正常。现在它不起作用,它给了我一个错误的请求

http://router.project-osrm.org/viaroute?loc="+p.getLat()+","+p.getLon()+"&loc="+d.getLat()+","+d.getLon(); 我使用 java 和 REST 协议

String sito="http://router.project-osrm.org/viaroute?loc="+p.getLat()+","+p.getLon()+"&loc="+d.getLat()+","+d.getLon()";
       Client client = ClientBuilder.newClient();

                WebTarget target = client.target(sito);


                Response res = target.request().get();


               System.out.println(res.readEntity(String.class));

我获得了“BAD GATEWAY”

【问题讨论】:

  • 您使用什么语言?你能发一下你正在使用的an example of the code吗?
  • @GoBusto 我已经编辑了帖子
  • 是的,它看起来绝对像 Java。我添加了相应的标签。
  • @prova 该服务运行良好,例如参见router.project-osrm.org/… (on the map)。你必须告诉我们更多关于你的问题。
  • 是的,我认为问题是用于 REST 调用的库或类似的东西。我不明白它是如何从 9 月到昨天工作的,现在它不起作用并给我“502坏网关”

标签: java web-services openstreetmap osrm


【解决方案1】:

在@scai 提供的链接中查看firebug,您可以看到Content-Encoding == gzip。您应该设置 Accept-Encoding 标头。您可以使用InvocationBuilder 上的便利链方法acceptEncoding 来做到这一点。所以做类似的事情

    WebTarget target = client.target(uri);
    String response = target.request()
            .accept("application/json")
            .acceptEncoding("gzip")
            .get(String.class);

不确定您使用的是 JAX-RS 客户端库,但标准客户端 API 没有任何过滤器/拦截器来解码 gzip,但如果您使用的是 Jersey 客户端,那么您可以注册 @ 987654328@与客户。

client.register(org.glassfish.jersey.message.GZipEncoder.class);

经过测试,这对我来说很好用。在进行上述更改之前遇到了与您相同的问题。

如果您不使用 Jersey,我确定您使用的任何实现都应该有一些 GZIP 过滤器。我知道 Resteasy 可以。如果你的实现没有,你总是可以使用 Java 的 GZIPInputStream 来包装响应流

Response response = target.request()
        .accept("application/json")
        .acceptEncoding("gzip")
        .get();

GZIPInputStream is = new GZIPInputStream(
                          response.readEntity(InputStream.class));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多