2011-01-12 3 views
1

을 사용하여 dynamics ax 2009에서 데이터를 가져 오는 중입니다. AX 데이터베이스에서 공급 업체 목록을 가져 오려고합니다.Axe webservices 및 C#

내 aspx 페이지에 공급 업체 목록을 표시하고 싶습니다. 어떻게하면됩니까? 여기

내가

도끼의 웹 서비스를 1-배포 지금까지 한 일이다. 2 - 서비스를 호출 할 클라이언트 클래스를 작성했습니다.

여기에 붙어있어 데이터를 가져 오는 방법을 모르겠습니다.

상담하십시오. 내가 it..here을 수행하는 방법을 발견

답변

2

code.Please은 다음 문서를 날짜로 http://msdn.microsoft.com/en-us/library/cc652581.aspx

 customerService.CustomerServiceClient sc = new ConsumingAxWebService.customerService.CustomerServiceClient(); 

     AxdCustomer axdCustomer; 

     QueryCriteria queryCriteria; 
     CriteriaElement[] criteriaElements; 
     IEnumerator enumerator; 
     int iCountLoops1 = 0; 
     AxdEntity_CustTable cust; 


     criteriaElements = new CriteriaElement[1]; 
     criteriaElements[0] = new CriteriaElement(); 

     criteriaElements[0].DataSourceName = "CustTable"; 
     criteriaElements[0].FieldName = "AccountNum"; 
     criteriaElements[0].Operator = Operator.Range; 
     criteriaElements[0].Value1 = "1101"; 
     criteriaElements[0].Value2 = "1102"; 


     queryCriteria = new QueryCriteria(); 
     queryCriteria.CriteriaElement = criteriaElements; 
     axdCustomer = sc.find(queryCriteria); 

     enumerator = axdCustomer.CustTable.GetEnumerator(); 

     while (enumerator.MoveNext()) 
     { 
      ++iCountLoops1; 
      cust = (AxdEntity_CustTable)enumerator.Current; 
      Response.Write(cust.AccountNum + "\n"); 
     } 
0

을 참조한다 AIF의 webservices.here을 소비하고 움직일 수있는 방법에 대한 해결책입니다 10 진수를 Ax에서 웹 서비스에 사용하면 사용중인 서비스의 이름은 CustFreeTextInvoice가됩니다.

전달 문자열 데이터에는 아무런 문제가 없지만 날짜 및 소수 데이터 자체가 있습니다.

코드 부착 ...

private void btnIngresar_Click(object sender, EventArgs e) 
    { 
     FreeTextInvoiceServiceClient service = new FreeTextInvoiceServiceClient(); 

     if (null == service) 
     { 
      throw new Exception("Cannot instantiate service."); 
     } 

     AxdFreeTextInvoice FreeTextInvoice = new AxdFreeTextInvoice(); 

     //Record 
     AxdEntity_CustInvoiceTable CustInvoiceTable = new AxdEntity_CustInvoiceTable(); 
     CustInvoiceTable.InvoiceId = "100"; 
     CustInvoiceTable.Name = txtName.Text; 
     CustInvoiceTable.OneTimeCustomer = 0; 
     CustInvoiceTable.OrderAccount = txtOrderAccount.Text; 
     //CustInvoiceTable.DocumentDate = DateTime.Now; 
     //CustInvoiceTable.DueDate = Convert.ToDateTime("20/12/2011"); 
     CustInvoiceTable.InvoiceDate = Convert.ToDateTime("20/11/2011"); 

     CustInvoiceTable.CustInvoiceLine = new AxdEntity_CustInvoiceLine[2]; 

     CustInvoiceTable.CustInvoiceLine[0] = new AxdEntity_CustInvoiceLine(); 
     CustInvoiceTable.CustInvoiceLine[0].Description = "Primer registro"; 
     CustInvoiceTable.CustInvoiceLine[0].LedgerAccount = "610208"; 
     CustInvoiceTable.CustInvoiceLine[0].TaxGroup = "IVAVTAS12"; 
     CustInvoiceTable.CustInvoiceLine[0].TaxItemGroup = "all"; 
     CustInvoiceTable.CustInvoiceLine[0].AmountCur = 1000; 

     CustInvoiceTable.CustInvoiceLine[1] = new AxdEntity_CustInvoiceLine(); 
     CustInvoiceTable.CustInvoiceLine[1].Description = "segundo registro"; 
     CustInvoiceTable.CustInvoiceLine[1].LedgerAccount = "610208"; 
     CustInvoiceTable.CustInvoiceLine[1].TaxGroup = "IVAVTAS12"; 
     CustInvoiceTable.CustInvoiceLine[1].TaxItemGroup = "all"; 
     CustInvoiceTable.CustInvoiceLine[1].AmountCur = 90; 

     FreeTextInvoice.CustInvoiceTable = new AxdEntity_CustInvoiceTable[1] { CustInvoiceTable }; 

     try 
     { 
      testws.FTIS.EntityKey[] returned = service.create(FreeTextInvoice); 
      testws.FTIS.EntityKey returnedValues = (testws.FTIS.EntityKey)returned.GetValue(0); 
      Console.WriteLine("Valor retornado: " + returnedValues.KeyData[0].Value); 
      Console.ReadLine(); 

     } 
     catch (Exception ex) 
     { 
      Console.WriteLine("Error: " + ex.ToString()); 
      Console.ReadLine(); 
     } 
    }