WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Fornecendo um Serviço JSONP

Configure o fluxo de mensagens do WebSphere Message Broker para fornecer uma resposta do serviço JSONP.

Antes de começar:

Antes de concluir esta tarefa, leia os seguintes tópicos de visão geral sobre JSON:
É possível usar ESQL, PHP ou Java™ para configurar o fluxo de mensagens para fornecer uma resposta do JSONP.
Os exemplos de código nesta tarefa assumem que o aplicativo cliente fornece uma chamada JavaScript no seguinte formato:
<script type="text/javascript"
 src="http://brokerhost:7080/flowUrlPathSuffix?jsonp=scriptFn">
</script>
  1. Na guia Avançado do nó HTTPInput, selecione Analisar Sequência de Consulta. Essa opção permite acessar o prefixo do script JSONP incluído na URL recebida, por exemplo, scriptFn, da árvore do ambiente local.
  2. Insira o seguinte código, conforme apropriado:
    • Se o fluxo de mensagens usar um nó Compute:
      SET OutputRoot.JSON.Padding = InputLocalEnvironment.HTTP.Input.QueryString.jsonp;
      SET OutputRoot.JSON.Data.objectName = 'thing1';
    • Se o fluxo de mensagens usar um nó PHPCompute:
      $output_assembly->JSON->Padding = 
           $input_assembly[MB_LOCAL_ENVIRONMENT]->HTTP->input->QueryString->jsonp;
      $output_assembly->JSON->Data->ObjectName = "thing1";
    • Se o fluxo de mensagens usar um nó 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");
    Esse código gera o seguinte fluxo de bits, enviado como a resposta de HTTP:
    scriptFn( {"objectName":"thing1"} )

    Esse fluxo de bits faz com que a função do JavaScript scriptFn seja chamada com o objeto JSON como um parâmetro.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

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

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:31:05


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | bc40100_