用C#访问Dynamic AX的WebService.

时间:2023-02-01 13:18:59

第 1 步:创建 C# WinForm 应用程序

针对本演练,您将创建访问报表服务器 Web 服务的简单控制台应用程序。本演练假定您是在 Visual Studio 环境中进行开发的。测试范例基于VS2008.

创建控制台应用程序

  1. “文件”菜单中,指向“新建”,再单击“项目”以打开“新建项目”对话框。
  2. 展开 “Visual C# 项目”文件夹。
  3. 单击“windows窗体应用程序”图标。
  4. “名称”框中,输入您项目的名称。键入名称 WindowsFormsApplication1
  5. “位置”框中,输入保存项目的路径,或单击“浏览”导航到所需文件夹。
  6. 单击“确定”。项目资源管理器中将显示您项目的折叠视图。

在项目资源管理器中,展开该项目节点。默认名称为 Program.cs的文件已添加到您的项目中。

第 2步:添加服务引用

添加服务引用

  1. “项目”菜单中,单击“添加服务引用”
  2. “添加服务引用”的 URL 框中,键入可获取报表服务器 Web 服务说明的 URL,如 http://192.168.0.160/SML_AX_WebService_UAT/SML_AXProd_WS_Interface.asmx。然后单击“转到”按钮即可检索有关 Web 服务的信息。
  3. “添加服务引用”框中,将命名空间重命名为 ProdDefect_WS。在解决方案资源管理器多了一个服务引用的节点。展开可以看到刚刚添加的ProdDefect_WS.

用C#访问Dynamic AX的WebService.

  1. 注意 检查 app.config 文件 ,可以看到一行关于刚刚添加的服务应用, 有的时候可能会出现重复的多行,导致运行的时候抛出多个endpoint configuration的错误。打开将多余的服务引用删除之。即可解决问题。

第 3 步:访问WebService服务

访问ws服务

  1. 在form1 加一个text空间用于显示返回的结果,控件命名为txt_rst_1,并且加一个button按钮命名为button1.
  2. 为此,请在代码文件的开头添加以下代码:
  3. 在From1的button1的Click事件访问GetProdDefectReason函数将结果复制给txt_rst_1;:
using System;
using WindowsFormsApplication1.ProdDefect_WS;
 
C#

private void button1_Click(object sender, EventArgs e)

{

ProdDefect_WS.SML_AXProd_WS_InterfaceSoapClient ws;

ws = new SML_AXProd_WS_InterfaceSoapClient();

txt_rst_1.Text= ws.AX_GetProdDefectReason().JsonResult;

}

  1. 保存解决方案。
  2. 测试结果

用C#访问Dynamic AX的WebService.