【问题标题】:In AX 2012, How to expose WCF service as REST在 AX 2012 中,如何将 WCF 服务公开为 REST
【发布时间】:2013-01-17 13:37:15
【问题描述】:

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

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

【问题讨论】:

    标签: web-services rest axapta dynamics-ax-2012 ax


    【解决方案1】:

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

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

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

    【讨论】:

    • 您好,感谢您的评论。我正在读你的书,很好:)
    • 嗨 Vasanth,将服务公开为 REST 是否可行?如果您仍有疑问,请开火:-)
    • 这种代理方法是在没有 IIS 的情况下直接进入 AX 时处理 NetTCP 要求的常用方法。
    猜你喜欢
    • 2013-01-09
    • 2012-10-26
    • 2013-04-04
    • 1970-01-01
    • 2012-04-10
    • 2012-01-16
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    相关资源
    最近更新 更多