4

现在我正在公开 AX 2012 的服务,如何配置它以将其公开为 REST?

我必须在 MAC Xcode 中使用此服务来进行 IOS 集成,我相信如果它是 REST 而不是 SOAP,它会更容易。

4

1 回答 1

6

好吧,有一个有趣的问题,但没有直接的答案:(

我想说没有简单的方法可以将您的 Ax WCF 服务公开为 REST,但是有一些变通方法。这就是我要做的。

您可以创建自己的 ASP.NET WebAPI 项目,该项目可以托管在 IIS 上,也可以在服务或可执行文件中自行托管。(创建简单 WebAPI 项目的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 格式。

例如:

  • “http://localhost:xxxx/api/products/1”
  • “http://localhost:xxxx/api/products?category=hardware”

在后台,控制器本身可以使用 WCF 的 SOAP 方式对 Ax 进行服务调用。

于 2013-01-18T00:02:21.690 回答