2017-01-04 16 views
0

javascriptとreact-nativeの新機能で、oDataを消費するクライアントをビルドしようとしています。React Native JayData XML DOMパーサーはサポートされていません

{ message: 'XML DOM parser not supported', 
    srcText: '', 
    errorXmlText: '', 
    request: 
    { requestUri: 'https://my322506.sapbydesign.com/sap/byd/odata/cust/v1/demoapp/$metadata', 
    method: 'GET', 
    headers: 
     { Authorization: 'Basic Y2dyOjF6M2k3bU05', 
     Accept: 'application/xml', 
     'OData-MaxVersion': '4.0' }, 
    recognizeDates: false, 
    callbackParameterName: '$callback', 
    formatQueryString: '$format=json', 
    enableJsonpCallback: false, 
    async: true }, 
    response: 
{ requestUri: 'https://my322506.sapbydesign.com/sap/byd/odata/cust/v1/demoapp/$metadata', 
    statusCode: 200, 
    statusText: undefined, 
    headers: 
     [ 'c4c-odata-response-time': '691 ms', 
     dataserviceversion: '1.0', 
     'Content-Type': 'application/xml' ], 

... 
Possible Unhandled Promise Rejection (id: 0): 
XML DOM parser not supported` 

マイコード:

jayData 
    .initService('https://my322506.sapbydesign.com/sap/byd/odata/cust/v1/demoapp/', credentials) 
    .then(function (remoteDB, contextFactory, contexType) { 
    console.log('HELLO'); 
    }); 

エラーがファイルから来jaydata-odatajs \ libに\ xml.jsライン190 コードjayDatas機能initServiceを実行しようとすることで、私は、次のエラーメッセージが表示されました:

function xmlParse(text) { 
var domParser = undefined; 
if (utils.inBrowser()) { 
    domParser = window.DOMParser && new window.DOMParser(); 
} else { 
    domParser = new (require('xmldom').DOMParser)(); 
} 
var dom; 

if (!domParser) { 
    dom = msXmlParse(text); 
    if (!dom) { 
     xmlThrowParserError("XML DOM parser not supported0"); 
    } 
    return dom; 
} 

答えて

0

[OK]を修正しました。 JayDataはブラウザーにあり、ウィンドウからパーサーを取得しようとしますが、ウィンドウにはパーサーがありません。 私はDOMParserをウィンドウに設定するだけで動作します。

export default class AwesomeProject extends Component { 
    constructor(props) 
    { 
     super(props); 
     window.DOMParser = require('xmldom').DOMParser; 

ありがとう!

関連する問題