【问题标题】:Websphere SOAP timeoutWebsphere SOAP 超时
【发布时间】:2013-06-10 20:54:03
【问题描述】:

从 EJB 事务中,我使用 SOAP 调用远程站点。远程服务器没有响应。我得到了交易超时。但我想从远程调用中获得超时。

如何在全局范围内为 SOAP 请求设置超时? 如何为特定调用设置 SOAP 请求超时?

【问题讨论】:

    标签: websphere


    【解决方案1】:

    要全局设置超时,您可以使用HTTP transport custom properties for web services applications。您在这里寻找的超时时间是timeout。这是默认的 300 秒(大于全局事务超时默认值,即 120 秒,因此您会收到事务超时)。

    如果您使用的是 JAX-RPC,请确保您处于包含对 PM60752(6.1.0.45、7.0.0.25、8.0.0.5 和 8.5.0.1)的修复的补丁级别。

    如 Nick 的回答所示,如果您使用较新的 JAX-WS 堆栈,则可以使用其他方法来配置超时。

    使用 JAX-RPC 时,您可以为特定调用端点设置超时,如文章 Setting the timeout value for a JAX-RPC Web Service client 中所述。对于 JAX-WS,您可以使用绑定或在 How to Set Timeout for JAX-WS WebService Call 处选择其中一种解决方案。

    在为 Web 服务配置超时时要记住的一点是,Web 服务传输依赖于 HTTP 传输(假设 SOAP over HTTP),而这又依赖于 TCP 传输,所有这些都可以针对各种超时进行配置。这些层之间的关系以及常见问题的解决方案在Common Timeouts effecting Web Services, HTTP and SOAP clients文章中进行了概述。

    【讨论】:

      【解决方案2】:

      您应该能够使用策略集进行配置。有关该主题的 IBM 文档,请参阅下面的链接。

      http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/index.jsp?topic=%2Fcom.ibm.websphere.nd.doc%2Fae%2Frwbs_jaxwstimeouts.html

      【讨论】:

        猜你喜欢
        • 2010-11-23
        • 1970-01-01
        • 1970-01-01
        • 2014-11-21
        • 2014-05-06
        • 1970-01-01
        • 1970-01-01
        • 2020-05-27
        • 2020-09-17
        相关资源
        最近更新 更多