【问题标题】:Dynamics Nav exchange with Groupon与 Groupon 的 Dynamics Nav 交换
【发布时间】:2015-10-13 10:19:02
【问题描述】:

我需要在 Dynamics NAV 2013 和 Groupon API V2 之间建立一个接口 在我看来,Groupons API 数据采用 json 格式 - 我如何在 Dynamics NAV 中获取此信息(例如订单)? 我应该使用网络服务吗?

谢谢

编辑: 我在这方面做了很多工作,并从 groupon 工作中接收数据 问题是发送信息: 我在发送带有参数的发布请求时遇到问题 - 这是我的代码:

WebServiceURL := 'https://...';
Request := Request.Create(WebServiceURL);
Request.Method := 'POST';
Request.KeepAlive := TRUE;
Request.Timeout := 30000;
Request.Accept('application/json');
Request.ContentType('multipart/form-data');
postString := 'param1=123&param2=456';
Request.ContentLength := STRLEN(postString); 
StreamWriter := StreamWriter.StreamWriter(Request.GetRequestStream);
StreamWriter.Write(postString);
StreamWriter.Close;

我收到 500 错误,所以我不知道为什么它被拒绝 但是,如果您觉得有什么不对劲的地方,请帮忙!

【问题讨论】:

    标签: microsoft-dynamics dynamics-nav groupon dynamics-nav-2013


    【解决方案1】:

    NAV 最友好的方式是从 API 中获取 XML 格式的订单,然后使用 XMLports 或 Codeunits 导入 XML(使用 DotNet)

    干杯

    【讨论】:

      【解决方案2】:
      1. 您不需要 Nav Web 服务,因为在这种情况下,您是 (Nav) 客户端,而 Web 服务将构建服务器端。例如。你可以调用网络服务,但网络服务不能调用任何东西。您很可能会使用NAS 定期执行任务。
      2. AFAIK Nav 无法处理 JSON,但在 Nav2013 中可以使用 .Net 库,因此只需从 Nav 中选择您喜欢的 JSON librarycall 即可处理来自 API 的响应。
      3. 要对 API 进行调用(请求),您可以使用 .net 或您选择的 com 库,就像使用 JSON 一样。

        ReqXML:自动化'Microsoft XML,v6.0'.DOMDocument60 RespXML:自动化'Microsoft XML,v6.0'.DOMDocument60 要求:自动化'Microsoft XML,v6.0'.XMLHTTP60 创建(请求,真); Req.open(reqType, Uri, FALSE); Req.setRequestHeader('contentType', 'text/xml; charset=UTF-16'); 案例请求类型 'GET': Req.send(); 'POST': Req.send(ReqXML); 结尾; RespText := Req.statusText; IF Req.status 200 THEN EXIT(FALSE); IF ISCLEAR(RespXML) 然后创建(RespXML, TRUE); RespXML.load(Req.responseXML);

      在此示例中,请求存储在Uri 中的地址。如果您需要发布除 URL 参数之外的一些数据,则将其发送到 ReqXML。如果 API 假设返回某些内容,它将在 RespXML 中。

      此代码适用于旧版本的 Nav。您将不得不稍微重写它以使用 .Net 库(如 webclient),并且可能摆脱 XML(在我的情况下 API 是基于 XML 的),但结构几乎相同。

      【讨论】:

      • 好的,是的,我已经看到使用 nav2013 我可以使用 .net 库:msdynamicsnav.guru/wp/gunnar/json-meets-nav/00749 我将尝试了解如何利用这一点
      • 是的,我想使用 NAS 来自动化交换 - 我只是想知道我应该如何发起对 groupon 的请求,然后如何接收请求的结果
      • 我没有 Nav 2013 来提供 .net 示例,但发布了很好的旧自动化示例。我认为它甚至可以在 Nav 2013 中使用。或者你可以重写它。
      • 谢谢 - 这让我知道如何开始 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      • 1970-01-01
      • 2016-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多