2011-01-12 6 views
1

を使用してdynamics ax 2009からデータを取得しています。AXデータベースからベンダーのリストを取得しようとしています。Axes webservicesとC#

私はaspxページにベンダーのリストを表示したいと思います。これはどのように達成できますか?ここ

は私がこれまでに

1-展開アックスのWebサービスを行っているものです。 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を消費すると、私は移動することができますどのようになどのソリューションです私が使用しているサービスの名前はCustFreeTextInvoiceです。

渡す文字列データには問題はありませんが、日付と10進数データ自体が含まれています。

コード添付...

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(); 
     } 
    }