2

我一直在尝试在后端设置一个带有 webMethods 集成服务器的示例 AngularJS 应用程序。使用 $resource,我可以轻松提取普通 JSON 文件并操作文件中的数据。但是,目标是我想在 webMethods Designer 中创建服务并使用 $resource 从 AngularJS 调用它们以在我的应用程序中显示数据。问题是从 AngularJS 我无法从我在 Designer 中创建的服务中提取我需要的数据。在 Designer 中,我可以使用(在 WMPublic 中)documentToJSONString,并输出如下内容:

jsonString  {"id":"1", "name":"Dan", "quantity":"3"}

但我无法提取数据,因为这不是纯 JSON 字符串。有谁知道如何 (1) 使用 AnularJS 提取 JSON 字符串输出数据或 (2) 从 Designer 输出 JSON 文档?我正在调用 REST 服务;大意的东西

http://localhost:2222/rest/Get/getOrderData 

来自我在 AngularJS 中的 services.js 文件。

这是我的 services.js 文件:

/* 服务 */

var orderServices = angular.module('orderServices', ['ngResource']);

orderServices.factory('Order', ['$resource',
  function($resource){
    return $resource('http://localhost:2222/rest/REST/getOrderData', {}, {
       query: {method:'GET', isArray:true}
  });

}]);

然后,在我的应用程序中,我想使用 ng-repeat 来调用 {{order.id}}、{{order.name}} 等。有没有人擅长 webMethods 和 Angular 或以前做过这个?

4

1 回答 1

0

为了强制您想要的响应,我会使用服务 pub.flow:setResponse将 jsonString映射到它的字符串参数,并且可能将 contentType 参数硬编码(eww!)到 'application/json'

您可能还需要使用服务pub.flow:setResponseCode来设置响应代码。

它们将是 getOrderData 中的最后一个服务

我会使用下面的方法调用它(其中命名空间是设计器中的文件夹结构)

http://localhost:2222/invoke/namespace:getOrderData 

以上适用于 Integration Server V8,看起来您正在使用 V9,因为您提到的某些服务在 V8 中不存在。这也适用于普通流服务,而不是特定的 REST 服务(假设它们存在于 V9 中)。

于 2013-12-30T23:35:03.577 回答