web-services - 在 AX 2012 中,如何将 WCF 服务公开为 REST

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

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

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

最佳答案

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

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

您可以创建自己的 ASP.NET WebAPI 项目,该项目可以托管在 IIS 上,也可以自托管在服务或可执行文件中。 ( WebAPI websitetutorial 来创建一个简单的 WebAPI 项目)。这个 WebAPI 项目实际上使用的是 ASP.NET MVC 4.0,因此您可以创建 Controller 来包含获取数据的逻辑。

在教程中,他们正在加载产品,而在 Controller 中,一个数组用于演示目的。

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"

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

    关于web-services - 在 AX 2012 中,如何将 WCF 服务公开为 REST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14380321/

    相关文章:

    security - RESTful 身份验证作为一种状态形式

    java - Netbeans Restfull教程测试运行但结果不同并且无法正确测试

    axapta - 在 X++ 中将字符串写在多行上

    axapta - 在 AX 2012 中刷新整个表单?

    java - Axis2 Web 服务 SSL 通信

    java - 每秒使用 Web 服务调用更新 Swing 客户端信息是否合适?

    web-services - 网页加载时间跟踪网站

    java - 使用 POST 调用使用 REST Web 服务返回 415

    java - Base64 编码字符串的 Mediatype 是什么?

    axapta - 如何安全地将服务从 AX 公开到 Web?