我正在尝试连接到AX网络服务。在给定产品和客户的情况下,我将采取什么措施来获取合适的价格。
我意识到要使用的正确的Web服务是PriceListServiceClient,我可以使用Windows身份验证登录到它,但我无法从中检索任何数据。
这是我的代码:
PriceListServiceClient priceListServiceClient = new PriceListServiceClient();
priceListServiceClient.ClientCredentials.Windows.ClientCredential.UserName = "yyy";
priceListServiceClient.ClientCredentials.Windows.ClientCredential.Password = "zzz!";
priceListServiceClient.ClientCredentials.Windows.ClientCredential.Domain = "xxx";
CriteriaElement[] criteriaElement = new CriteriaElement[1];
criteriaElement[0] = new CriteriaElement();
criteriaElement[0].DataSourceName = "SalesPrice";
criteriaElement[0].FieldName = "ItemId";
criteriaElement[0].Operator = Operator.NotEqual;
criteriaElement[0].Value1 = "5637153175";
QueryCriteria queryCriteria = new QueryCriteria();
queryCriteria.CriteriaElement = criteriaElement;
CallContext callContext = new CallContext();
var found = priceListServiceClient.find(callContext, queryCriteria);
Console.WriteLine(found.Currency);
priceListServiceClient.Close();
知道为什么会这样吗?
答案 0 :(得分:2)
尝试填写CallContext中的属性(公司和语言)。
new CallContext { Company = "zzz", Language = "nl" };
答案 1 :(得分:0)
我在这里找到答案:http://community.dynamics.com/ax/f/33/p/118741/246784.aspx
Price List文档的Ax类是AxPriceDiscTmpPrintout Class。此类包装TmpPriceDiscPrintout表,该表是TMP表。这就是为什么你没有得到任何回报。