【问题标题】:SoapHttpClientProtocol automatically retry after exception?SoapHttpClientProtocol 异常后自动重试?
【发布时间】:2013-07-16 13:21:11
【问题描述】:

我只是对此感到好奇。我正在对该项目进行更改,即使用 NetSuite Web 服务,有时它会随机抛出 SoapException,“一次只能针对会话发出一个请求”。

    private NetSuiteService _service;

    SessionResponse response = _service.login(passport); //if SoapException, retries??
    Status status = response.status;

Reference.cs:
    public partial class NetSuiteService : 
System.Web.Services.Protocols.SoapHttpClientProtocol

我的问题是:如果我处于调试模式,我会跟踪它,然后按 F5,它似乎在抛出异常后会自动重试(代码继续运行,没有实现 try catch 块,没有 while 循环)直到成功(status.isSuccess == true)。当我以发布模式运行它时,作为 Windows 服务,日志显示它在引发异常后停止运行。

这怎么可能?在 try catch 块中捕获此异常并重试是否更好?

【问题讨论】:

    标签: netsuite soapexception soaphttpclientprotocol


    【解决方案1】:

    如果 NS 服务器已经在处理来自同一用户的请求,则它会拒绝该请求。

    如果您想确保请求成功,则必须捕获此异常并重试。

    【讨论】:

      【解决方案2】:

      这不是我的经历。我们认为这与 netsuite 会话有关,但事实证明与此无关,实际上甚至没有击中 netsuite(根据 netsuite 日志)​​。结果我们试图在一个请求中执行太多命令,它完全拒绝将它发送到 netsuite。以前没见过这个错误,可能是新版本的新东西!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-28
        • 1970-01-01
        • 2013-11-01
        相关资源
        最近更新 更多