AIF Operation -- Delete()

来源:互联网 发布:单片机c语言数据类型 编辑:程序博客网 时间:2024/06/07 04:19

AIF 中的服务一般会提供八种操作, 分别为create,delete,find,findKeys,getKeys,read,update, getChangeKey

我们今天来讨论如何使用AIF Service 中的delete方法去删除Dynamics AX中的数据

  1. 注册 SalesSalesOrderService 服务
  2. 创建一个NetTcp类型的端口,命名为TestAIFOperation,添加SalesSalesOrderService 服务的delete方法
  3. 在VS2010种创建一个console类型的项目
  4. 取得端口中的服务地址(WSDL URI): http://RD7145D0511:8101/DynamicsAx/Services/TestAIFOperation
  1. 添加引用,右击Reference/Add Service Reference,将WSDL URI复制进去,点击Go按钮,再点击确定
  2. 执行一下代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using TestAIFDeleteMethod.ServiceReference1;

 

namespace TestAIFDeleteMethod

{

    class Program

    {

        static void Main(string[] args)

        {

            SalesOrderServiceClient client = new SalesOrderServiceClient();

            CallContext context = new CallContext();

            context.Company = "CEU";

 

            EntityKey[] readRespKeys = new EntityKey[2];

            readRespKeys[0] = new EntityKey();

            readRespKeys[0].KeyData = new KeyField[1];

            readRespKeys[0].KeyData[0] = new KeyField();

            readRespKeys[0].KeyData[0].Field = "SalesId";

            readRespKeys[0].KeyData[0].Value = "SO-101268";

 

            readRespKeys[1] = new EntityKey();

            readRespKeys[1].KeyData = new KeyField[1];

            readRespKeys[1].KeyData[0] = new KeyField();

            readRespKeys[1].KeyData[0].Field = "SalesId";

            readRespKeys[1].KeyData[0].Value = "SO-101269";

 

            try

            {

                client.delete(context, readRespKeys);

                Console.WriteLine("successful delete record!");

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.ToString());

            }

            finally

            {

                client.Close();

            }

            Console.ReadKey();

        }

    }

}

  1. 运行,发现记录已经被删除
原创粉丝点击