升级到6.1

时间:2017-08-16 13:55:21

标签: 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, _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;
    }
}

客户地址参数的网址:" https://mysandbox.acumatica.com/MyCompany/entity/Default/5.30.001"

上面的代码对我以前使用的版本完美无缺,但现在在v6.1中使用此代码时,我在client.LoginAsync()方法中获得了未经授权的401响应。以下是错误响应:

  

HTTP请求未经授权使用客户端身份验证方案   '匿名&#39 ;.从服务器收到的身份验证标头是   '具有基本'

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

来自Acumatica Documentation

  

您可以在Acumatica的未来版本中使用相同的系统端点   ERP。例如,如果您使用版本5.30.001的系统端点   和合同版本1访问Acumatica ERP 5.3,你可以使用   访问Acumatica ERP未来版本的相同端点。

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

1 个答案:

答案 0 :(得分:1)

您的代码很好,.Net中的WebService API和引用是变化无常的。

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

enter image description here

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

确保可以从浏览器访问WSDL URL: enter image description here