【发布时间】:2013-01-17 13:37:15
【问题描述】:
现在我正在公开 AX 2012 的服务,如何配置它以将其公开为 REST?
我必须在 MAC Xcode 中使用此服务来进行 IOS 集成,我相信如果它是 REST 而不是 SOAP,它会更容易。
【问题讨论】:
标签: web-services rest axapta dynamics-ax-2012 ax
现在我正在公开 AX 2012 的服务,如何配置它以将其公开为 REST?
我必须在 MAC Xcode 中使用此服务来进行 IOS 集成,我相信如果它是 REST 而不是 SOAP,它会更容易。
【问题讨论】:
标签: web-services rest axapta dynamics-ax-2012 ax
嗯,有一个有趣的问题,但没有直接的答案:(
我会说没有简单的方法可以将 Axe WCF 服务公开为 REST,但是有一些变通方法。这就是我要做的。
您可以创建自己的 ASP.NET WebAPI 项目,该项目可以托管在 IIS 上,也可以在服务或可执行文件中自行托管。 (WebAPI website 和 tutorial 创建一个简单的 WebAPI 项目)。这个 WebAPI 项目实际上使用 ASP.NET MVC 4.0,因此您可以创建控制器来包含获取数据的逻辑。
在教程中,他们正在加载产品,而在控制器中,数组用于演示目的。
Product[] products = new Product[]
{
new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 },
new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M },
new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M }
};
好吧,现在您可以做的是通过对您的 Ax WCF 服务的服务调用来替换它。通过这样做,外部用户实际上可以向您的 WebAPI 站点发出 HTTP 请求,WebAPI 将为您处理所有路由并返回 JSON 格式。
例如:
在后台,控制器本身可以使用带有 WCF 的 SOAP 方式对 Ax 进行服务调用。
【讨论】: