2017-01-10 3 views
1

Wir verwenden MobileFirst Foundation 8.0.0.00-20160822-2140, die in WebSphere Application Server Version 8.5.5.5 bereitgestellt wird.Wie übergeben Sie JSON Array-Objekt von einem Javascript-Adapter zu einem anderen Javascript-Adapter?

  1. Wie json Array-Objekt von auf Javascript-Adapter zu einem anderen Javascript-Adapter übergeben?

  2. Wie JSON-Array-Objekt mit Apostroph von auf Javascript-Adapter zu einem anderen Javascript-Adapter übergeben?

  3. Gibt es eine Grenze in der JSON-Größe?

Wir haben versucht:

  1. den zweiten Javascript-Adapter aus dem ersten Javascript Adapter zu nennen:

    var samplejsonarrayobject = [{a:"xxx",b:"yyy"},{c:"zzz",d:"aaa"}]; 
    var res = MFP.Server.invokeProcedure({ 
        adapter: "secondAdapter", 
        procedure: "secondAdapterFunction", 
        parameters: [samplejsonarrayobject] 
    }); 
    
  2. Um den zweiten Javascript-Adapter aus dem ersten JavaScript-Aufruf Adapter mit stringify:

  3. Um den zweiten Javascript-Adapter aus dem ersten Javascript-Adapter mit einer sehr großen JSON-Datei aufrufe:

    var largesamplejsonarrayobject = [{a:"xxx",b:"yyy"}...................................{c:"zzz",d:"aaa"}]; 
    var largestringifysamplejsonarrayobject = JSON.stringy(largesamplejsonarrayobject); 
    
    var res = MFP.Server.invokeProcedure({ 
        adapter: "secondAdapter", 
        procedure: "secondAdapterFunction", 
        parameters: [largestringifysamplejsonarrayobject] 
    }); 
    
  4. Um den zweiten Javascript-Adapter aus dem ersten Javascript-Adapter mit einem sehr großen JSON zu nennen mit Apostrophe Symbol:

    var apostrophesamplejsonarrayobject = [{a:"xx'x",b:"yyy"},{c:"zzz",d:"aaa"}]; 
    var apostrophestringifysamplejsonarrayobject = JSON.stringy(apostrophesamplejsonarrayobject); 
    
    var res = MFP.Server.invokeProcedure({ 
        adapter: "secondAdapter", 
        procedure: "secondAdapterFunction", 
        parameters: [apostrophestringifysamplejsonarrayobject] 
    }); 
    

Retour Fehler

Für 1) Testfall:

[1/10/17 22: 06: 04: 703 MYT] 00.000.131 MFP.Logger java.lang.IllegalArgumentException: ungültiger Typ von Element

Für 2) Testfall: Kann den JSON übergeben.

Für 3) Testfall: JSON kann nicht übergeben werden.

Verursacht durch: com.fasterxml.jackson.core.JsonParseException: Unerwartete Zeichen ('s' (Code 115)): Es wurde Komma getrennte ARRAY erwartet Einträge in [Quelle: [ '[{a: "xx'x", b: "yyy"}, {c: "zzz", d: "aaa"}]; Zeile 1, Spalte ]

Für 4) Testfall:

Verursacht durch: com.fasterxml.jackson.core.JsonParseException: Unerwartete Zeichen ('s' (Code 115)): Erwartete Komma, um ARRAY Einträge bei [Quelle: ['[{a: "xx'x", b: "yyy"}, {c: " zzz ", d:" aaa "}]; Zeile 1, Spalte ]

es Lösen von:

jsonString = replaceAllString(jsonString, "'s", "'s"); 

function replaceAllString(stringJ,search, replacement) { 
    return stringJ.replace(new RegExp(search, 'g'), replacement); 
} 
+0

Können Sie auch die Serverprotokolle posten? Die, die die Fehlermeldungen –

+0

@VivinK erfassen, sorry bearbeitet noch die Frage. Habe es gerade in den obigen Fehlerbereich eingefügt – user1872384

Antwort

2

Dies ist in der Tat 7.1 ein Fehler und eine Regression von MobileFirst Platform Foundation. Das Entwicklerteam wird daran arbeiten, dies zu beheben.

Um dieses Problem zu verfolgen, die folgende APAR geöffnet wurde: PI74759: Ein JSON Objekt nicht PASS kann als Parameter oder ein JSON ARRAY

Update auf MFP.SERVER.INVOKEPROCEDURE: Installieren Sie die neueste 8.0 iFix Um eine Fehlerbehebung für dieses Problem zu erhalten, das sich auf dem Server befindet, ist eine neue Serverinstallation erforderlich.

+0

Thx ... Verwaltet, um es zu lösen, indem das "s" durch "' s" ersetzt wird – user1872384

Verwandte Themen