Authentication Acumatica API升级到6.1后未经授权登录

Authentication Acumatica API升级到6.1后未经授权登录,authentication,acumatica,Authentication,Acumatica,我们最近刚刚将Acumatica实例升级到版本6.10.0680。我在上一个实例(V 5.30.2489)上使用基于合同的API登录API并使用以下代码创建销售订单: using (DefaultSoapClient client = new DefaultSoapClient(binding, address)) { try { //Login to Acumatica API await client.LoginAsync(_acumaticaUid,

我们最近刚刚将Acumatica实例升级到版本6.10.0680。我在上一个实例(V 5.30.2489)上使用基于合同的API登录API并使用以下代码创建销售订单:

using (DefaultSoapClient client = new DefaultSoapClient(binding, address))
{
    try {
        //Login to Acumatica API
        await client.LoginAsync(_acumaticaUid, _acumaticaPwd, _acumaticaCompany, null, null);

        //Create a sales order with the specified values
        SalesOrder newOrder = (SalesOrder)await client.PutAsync(orderToBeCreated);

        client.Logout();

        return newOrder;
    }
    catch (Exception e)
    {
        //order addition to Acumatica failed, update the order status in Woo Commerce
        client.Logout();
        Console.WriteLine("Acumatica could not add specified entity: " + e);

        return null;
    }
}
客户端地址参数的URL:“

上面的代码在我使用的上一个版本中工作得非常完美,但是现在在v6.1中使用这段代码时,我在client.LoginAsync()方法中得到了一个未经授权的401响应。以下是错误响应:

HTTP请求未经客户端身份验证方案授权 “匿名”。从服务器接收的身份验证标头为 “基本”

我认为升级版本是为了向后兼容而构建的,所以这不应该仍然有效吗?为了在v6.1上进行此工作,我是否需要更改某些内容

从:

您可以在Acumatica的未来版本中使用相同的系统端点 企业资源计划例如,如果使用版本为5.30.001的系统端点 和合同版本1访问Acumatica ERP 5.3,您可以使用 访问Acumatica ERP未来版本的相同端点


最后,我们将升级到现在可用的REST API,但这需要同时工作。

您的代码很好,WebService API和.Net中的引用很易变

遇到连接问题时,有时需要从头开始更新或重建引用:

在同一菜单中,您可以在“配置服务引用”中获取WSDL地址:

确保可以从浏览器访问WSDL URL:

您是否已从HTTP切换到HTTPS?这看起来像是“绑定”错误。您也可以尝试重新生成服务引用。我已经能够在v5.3上将此服务引用与http和https一起使用。我尝试使用v6.1 Acumatica实例的url重新生成服务引用,但仍然收到相同的401错误。当使用浏览器导航到时,您会看到什么:我得到一个404未找到(在用url中的实际值替换后)。我只是在尝试更新服务引用后恢复了所有更改,并将其恢复到原来的方式,现在它可以工作了!我不确定问题出在哪里。WebService API和.Net中的引用是易变的,当遇到连接问题时,有时需要从头开始重建引用。