WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Proporcionar un servicio JSONP

Configure el flujo de mensajes de WebSphere Message Broker para proporcionar una respuesta de servicio JSONP.

Antes de empezar:

Antes de completar esta tarea, lea los siguientes temas introductorios sobre JSON:
Puede utilizar ESQL, PHP o Java™ para configurar el flujo de mensajes para proporcionar una respuesta JSONP.
En los ejemplos de código de esta tarea se supone que la aplicación cliente proporciona una llamada a JavaScript en el formato siguiente:
<script type="text/javascript"
 src="http://brokerhost:7080/flowUrlPathSuffix?jsonp=scriptFn">
</script>
  1. En el separador Avanzadas del nodo HTTPInput, seleccione Analizar serie de consulta. Esta opción permite acceder al prefijo de script JSONP que se incluye en el URL entrante, por ejemplo scriptFn del árbol del entorno local.
  2. Inserte el código siguiente, según sea necesario:
    • Si el flujo de mensajes utiliza un nodo Compute:
      SET OutputRoot.JSON.Padding = InputLocalEnvironment.HTTP.Input.QueryString.jsonp;
      SET OutputRoot.JSON.Data.objectName = 'thing1';
    • Si el flujo de mensajes utiliza un nodo PHPCompute:
      $output_assembly->JSON->Padding = 
           $input_assembly[MB_LOCAL_ENVIRONMENT]->HTTP->input->QueryString->jsonp;
      $output_assembly->JSON->Data->ObjectName = "thing1";
    • Si el flujo de mensajes utiliza un nodo JavaCompute:
      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");
    Este código genera la corriente de bits siguiente, enviada como respuesta HTTP:
    scriptFn( {"objectName":"thing1"} )

    Esta corriente de bits hace que la función scriptFn de JavaScript sea llamada con el objeto JSON como parámetro.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

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

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:01:04


Tema de tareaTema de tarea | Versión 8.0.0.5 | bc40100_