WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

JSONP-Service bereitstellen

Sie können Ihren WebSphere Message Broker-Nachrichtenfluss so konfigurieren, dass er die Antwort eines JSONP-Service bereitstellt.

Bevor Sie beginnen:

Lesen Sie vor Ausführung dieser Task die folgenden einführenden Themen zu JSON:
Sie können ESQL, PHP oder Java™ verwenden, um Ihren Nachrichtenfluss so zu konfigurieren, dass er eine JSONP-Antwort bereitstellt.
In den Codebeispielen dieser Task wird davon ausgegangen, dass die Clientanwendung einen JavaScript-Aufruf mit folgendem Format bereitstellt:
<script type="text/javascript"
 src="http://brokerhost:7080/flowUrlPathSuffix?jsonp=scriptFn">
</script>
  1. Wählen Sie auf der Registerkarte Erweitert Ihres HTTPInput-Knotens die Option Abfragezeichenfolge syntaktisch analysieren aus. Wenn diese Option aktiviert ist, können Sie in der Baumstruktur der lokalen Umgebung auf das in der eingehenden URL enthaltene JSONP-Scriptpräfix (z. B. scriptFn) zugreifen.
  2. Fügen Sie je nach Knoten eines der folgenden Code-Elemente ein:
    • Wenn Ihr Nachrichtenfluss einen Compute-Knoten enthält:
      SET OutputRoot.JSON.Padding = InputLocalEnvironment.HTTP.Input.QueryString.jsonp;
      SET OutputRoot.JSON.Data.objectName = 'thing1';
    • Wenn Ihr Nachrichtenfluss einen PHPCompute-Knoten enthält:
      $output_assembly->JSON->Padding = 
           $input_assembly[MB_LOCAL_ENVIRONMENT]->HTTP->input->QueryString->jsonp;
      $output_assembly->JSON->Data->ObjectName = "thing1";
    • Wenn Ihr Nachrichtenfluss einen JavaCompute-Knoten enthält:
      MbMessage outMessage = new MbMessage();
      MbElement outRoot = outMessage.getRootElement();
      MbElement outParser = outRoot.createElementAsLastChild(MbJSON.PARSER_NAME);
      String paddingString = 
          assembly.getLocalEnvironment().getRootElement().getFirstElementByPath("HTTP/Input/QueryString/jsonp").getValueAsString();
      MbElement padding = outParser.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Padding", paddingString);
      MbElement data = outParser.createElementAsLastChild(MbElement.TYPE_NAME, "Data", null);
      data.createElementAsLastChild(MbElement.TYPE_NAME_VALUE,"objectName","thing1");
    Dieser Code generiert folgenden Bitstrom, der als HTTP-Antwort gesendet wird:
    scriptFn( {"objectName":"thing1"} )

    Durch diesen Bitstrom wird die JavaScript-Funktion scriptFn mit dem JSON-Objekt als Parameter aufgerufen.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:43


TaskthemaTaskthema | Version 8.0.0.5 | bc40100_