MYOBAdvanced Web API 注销 - 由于系统用户数量超出,您已被注销

问题描述 投票:0回答:2

我们的系统成功登录 MYOBAdvanced,执行所需操作(创建销售订单、报价等),然后尝试注销。

但是系统运行一段时间后,我们开始在 MYOBAdvanced UI 上收到错误:

“由于系统用户数量超出,您已退出。”

screen.Logout()
表示注销过程成功,但在 MYOBAdvanced UI 上仍收到错误。

Acumatica 5.2.1567.33 或 MYOBAdvanced(2015.3.2.1193) 中已修复此问题吗?

以下是参考代码:

public class Advanced {
static Screen oScreen = new Screen();

        public static Boolean fConnect(string sCompany, ref string sError) {
            try { 
                oScreen.CookieContainer = new System.Net.CookieContainer();
                oScreen.AllowAutoRedirect = true;
                oScreen.EnableDecompression = true;
                oScreen.Timeout = 200000;  // Timeout set to 2 min
                oScreen.Url = sCompany;
                return true;
            }
            catch (Exception ex){
                sError = "ERR~~fConnect " + ex.Message;
                return false;
            }
        }

        public static string fLogin(string sCompany, string sUser, string sPwd) {
            try {
                String sError = "";
                Boolean bConnect = fConnect(sCompany, ref sError);
       
                if (!bConnect){
                    return "ERR~Unable To Connect To Company File <" + sCompany + "> " + sError;
                }

                LoginResult oLogin = new LoginResult();
                oLogin = oScreen.Login(sUser, sPwd);  
                
                oScreen.SetLocaleName(CultureInfo.CurrentCulture.Name);

                if (oLogin.Code == 0){
                    String sDBVersion = "";
                    if (fCheckDBVersion(ref sDBVersion, ref sError))
                    {
                        return "OK ~~";
                    }
                    else 
                    {
                        return "ERR~~fLogin " + sError; 
                    };
                }
                else {
                    return oLogin.Message;
                }
            }
            catch (Exception ex){
                Debug.WriteLine(ex.Message);
                return "ERR~~fLogin " + ex.Message; 
            }
        }
        public static String fLogOut()
        {
            try
            {
                oScreen.Logout();
                return "OK ~~";
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                return "ERR~~fLogOut " + ex.Message;
            }
        }
 }
acumatica logout webapi
2个回答
1
投票

早期版本的 Acumatica 的注销功能存在问题,该问题已于 1525 年 5 月 20 日修复。然而,由于 MYOB Advanced 中的许可模式不同,那里也存在类似的问题,并且他们的团队承认了这一问题。据他们称,这个问题应该在上周发布的更新中得到解决。您的网站上有新版本吗?如果问题仍然存在,您可以告诉我们吗?


0
投票

不确定您的实施情况,但在大多数情况下,使用网络服务的人会创建新的 cookie,并且它将分配新的会话。 从我的角度来看,您只需使用一种登录方法并将 cookie 保存在某处以便在下次调用时使用它。

© www.soinside.com 2019 - 2024. All rights reserved.