目前我正在公开AX 2012的服务,如何配置它以将其公开为REST?
我必须在MAC Xcode中使用此服务进行IOS集成,我相信如果它是REST而不是SOAP,它很容易。
答案 0 :(得分:6)
嗯,有一个有趣的问题,但没有直截了当的答案:(
我想说没有简单明了的方法将您的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进行服务调用。