在java中为一次调用执行两次Restful Web服务

Posted

技术标签:

【中文标题】在java中为一次调用执行两次Restful Web服务【英文标题】:Rest full web service executed twice for one call in java 【发布时间】:2016-08-25 09:05:22 【问题描述】:

我正在使用 Jersey 客户端 API 1.19 调用 Restful Web 服务调用。就像在客户端一样,我已经调用了一次 Web 服务,但被调用的 Web 服务又执行了两次。

在客户端调用或从服务端发送时是否需要设置任何属性

如果没有,还有其他方法可以跟踪问题

正如我经历过 WCF method called twice 但它没有帮助我

我的代码如下

 Client client = Client.create();

    WebResource webResource = client.resource(baseuri);
           webResource.method(POST);
    ClientResponse response = webResource.accept("application/xml")
            .type("application/xml").post(ClientResponse.class);

【问题讨论】:

【参考方案1】:

这里我得到了两个响应

因为我用过 webResource.method("POST");

即当我设置方法 webResource 时,服务被 webResource 调用,甚至被 clientResponse 调用。

最终我得到了两个响应,所以在删除上面的代码之后,服务只为 clientResponse 调用而不是 webResponse 调用

【讨论】:

以上是关于在java中为一次调用执行两次Restful Web服务的主要内容,如果未能解决你的问题,请参考以下文章

AWS.ApiGatewayManagementApi.postToConnection() 调用一次时执行两次

gwt中的远程服务执行两次

如何在一个具有不同参数的连续调用两次的javascript中为函数添加回调?

如果执行嵌套的异步调用,则函数运行两次,否则运行一次。需要帮助来预先确定何时会发生这种情况

为啥 ngAfterContentInit 钩子被调用两次?

性能优化之函数节流