我正在努力编写与Acumatica基于合同的API的集成,我遇到了阻止我从API获取数据的问题。这是错误:
System.ServiceModel.FaultException
System.Web.Services.Protocols.SoapException:服务器无法执行 处理请求。 ---> PX.Data.PXUndefinedCompanyException:无法使用 确定请求的正确公司ID。
以下是我的API集成代码,它存在于我的一个API控制器方法中:
public HttpResponseMessage Get()
{
var binding = new System.ServiceModel.BasicHttpBinding()
{
AllowCookies = true
};
var address = new System.ServiceModel.EndpointAddress("http://acumaticasandbox.mydomain.com/MyCompany/entity/Default/5.30.001");
using (DefaultSoapClient client = new DefaultSoapClient(binding, address))
{
client.Login("myuser", "mypassword", "MyCompany", null, null);
Entity[] items = client.GetList(new SalesOrder(), false);
client.Logout();
return Request.CreateResponse(HttpStatusCode.OK, items);
}
}
显然" mydomain"和#34; MyCompany"是我实际代码中的真实值。
我无法通过客户端。无论我尝试过什么,都可以通过电话。任何建议都表示赞赏。
我正在使用Acumatica端点版本5.30.001并使用C#作为集成代码。
答案 0 :(得分:2)
而不是使用'公司名称'在您的请求中,使用公司的登录名'。 您可以在System-> Management-> Explore-> Companies
中找到公司登录名