2017-08-01 64 views
1

我正在嘗試創建一個Angular應用程序作爲API的客戶端,它需要使用Progress JSDO與OpenEdge數據通過業務實體進行交互。我對Angular開發非常陌生,但我對Progress JSDO相當熟悉,所以我有一種感覺,我的問題根源在於如何包含項目的進展。使用Progress JSDO和Angular CLI項目

我發現這個例子,我相信這是過時:

Progress Community Post

同樣的,這個PUG挑戰PDF:

PUG Challenge PDF

這裏是我的代碼使用與JSDO交互:

import { Injectable }  from '@angular/core'; 

import { Observable }  from 'rxjs/Observable'; 
import 'rxjs/add/observable/fromPromise'; 
import 'rxjs/add/operator/map'; 

import { progress } from 'jsdo'; 

import { PriceResponse } from './oo-price-response'; 
import { OOProduct }  from './oo-product'; 

//Products JSDO service 
@Injectable() 
export class OEWebPriceService { 
    private tableName: string = 'Products'; 
    private jsdo: any; 

    constructor() { 

     const serviceURI = 'myServiceURI'; 
     const catalogURI = 'myCatalogURI'; 

     let session = new progress.data.JSDOSession({ serviceURI: serviceURI }); 

     session.login('devono|ulfoods.com','devono') 
      .then(() => { 
       session.addCatalog(catalogURI); 
      }); 

     let productJSDO = new progress.data.JSDO({ name: 'Products' }); 
     this.jsdo = productJSDO; 
    } 

    public getPrices(): Observable<OOProduct[]> { 
     return this.fetch(); 
    } 

    private fetch(): Observable<OOProduct[]> { 
     let ttPrices=[]; 

     let params = { 
      accountNumber: "945873", 
      ttPrice: { 
       ttPrice: [ 
        { seq: 0, productCode: "152709"}, 
        { seq: 1, productCode: "717141"}, 
        { seq: 2, productCode: "152711"} 
       ] 
      }, 
      userLoginID: "devono|ulfoods.com" 
     }; 

     let prodPromise = new Promise((resolve, reject) => { 
      this.jsdo.invoke("GetPrices", params) 
       .done((jsdo: any, success: any, request: any) => { 
        ttPrices = request.response.ttPrice.ttPrice; 
        resolve(ttPrices); 
       }) 
     }); 

     let result = Observable.fromPromise(prodPromise); 

     return result; 
    } 
} 

此代碼在Sublime中查找文件,TypeScript識別所有類型和方法等,並且所有編譯都很好。然而,在瀏覽器中我從Chrome開發人員工具的錯誤消息:

Chrome Developer Tools Error

我覺得進展找不到jQuery的,即使jQuery的來到右邊伴隨着它,當我安裝了JSDO到我的項目通過npm。我錯過了一個步驟嗎?有沒有人成功地將JSDO包含在一個可以佈置步驟的Angular項目中?

我會嘗試在Plunker或其他東西上得到一個實例,但我不知道該怎麼做,所以希望現在就足夠了。

在此先感謝!

回答