iT Synergy Blogs

Growing Innovation - Soluciones a problemas reales

  • Facebook
  • Instagram
  • LinkedIn
  • Phone
  • Twitter
  • YouTube

Copyright © 2025 · iT Synergy·

ESB Toolkit Dynamic Responses in Chained Operations Using Itineraries.
ESB Toolkit Dynamic Responses in Chained Operations Using Itineraries. avatar

March 22, 2011 By Marco Antonio Hernández Prado Leave a Comment

To manage dynamic responses within the ESB when in its services throw either a valid response or a faulted one, we implemented the following scenario that may help you with similar cases.

First you have to take into account serveral important points:

  • An itinerary can define dynamically its response paths. Within an itinerary you can define if a service will respond or not. This isn’t quite a visible property, but it can be used to define if the itinerary service will respond to the client or to the following  service.

This will be the scenario used in our use case.

  • An orchestration can handle one-way or two-way processes, seen as a process that can be design from the itineraries. You don’t have to explicitly place the two-way ports to handle this type of processes. In some cases, handling orchestrations with two-way ports doesn’t allow a simple management of the process since the process is always going to demand for a response when the Decision shapes are used. This means that the process will be required to return a response  in all branches of the Decide Shape (“If”,“Else”, etc). Sometimes this becomes too complex to deal with.

[Read more…]

Filed Under: BizTalk, BizTalk 2010 configurations, BizTalk Application, BizTalk Services, ESB, SOA Tagged With: ESB

Mapping the response from the Oracle database Adapter (weak REF CURSOR – GenRecordRow – GenRecordColumns)
Mapping the response from the Oracle database Adapter (weak REF CURSOR – GenRecordRow – GenRecordColumns) avatar

March 2, 2011 By Alexandra Bravo Restrepo Leave a Comment

Al importar los esquemas de un procedimiento almacenado que retorna un weak ref cursor, el adaptador de Oracle genera un esquema “genrecordrow” y “genrecordcolumns, en lugar de un conjunto de resultados con tipo. Este tipo de mensajes son muy complejos de manejar, por lo cual se requiere realizar una transformación que permita identificar la información retornada por el ref-cursor directamente.

Para realizar la transformación del mensaje existen diferentes opciones, a continuación un ejemplo donde se hace uso de los functoids Iteration, Record Count, Scripting y Less Than or Equal To.

En el ejemplo se utilizará el functoid Iteration para recorrer el conjunto de datos GenRecordRow, este conjunto se recorrerá hasta llegar a la posición del último registro, este valor se calculará con el functoid Record Count, posteriormente se utilizará el functoid Less Than or Equal To, para establecer la condición de las iteraciones, la cual debe ser menor o igual al total de filas o conjunto de datos GenRecordRow, finalmente se usará el functoid Scripting, para realizar la transformación de los datos a través de XSLT.

XML de entrada: Corresponde a la información retornada en el ref cursor

image

1. Crear el esquema empleados:

clip_image003

2. Crear el mapa para realizar la transformación de la estructura genérica al esquema de empleados:

clip_image004

3. Adicionar al mapa los functoids Iteration y Record Count, para recorrer y contar las filas genrecordrow.

clip_image005

4. Adicionar al mapa el functoid Less Than or Equal To, para establecer el limite o total de iteraciones. El functoid Iteration retorna el índice de la iteración y el functoid Record Count el total de registros GenRecordRow, donde estas dos salidas deben ser las entradas de la condición: Indice actual <= total de registros.

clip_image006

5. Adicionar al mapa el functoid Scripting, el cual debe recibir como parámetro el índice de la iteración, para consultar solamente las columnas correspondientes a la fila del índice recibido.

clip_image007

6. Configurar el Scripting, utilizando el tipo de Script Inline XSLT Call Template, para realizar la transformación al esquema destino.

clip_image009

7. Finalmente probar el mapa, y verificar que el XML de salida sea el correcto:

clip_image011

Filed Under: .NET, BizTalk 2010 configurations, BizTalk Application, BizTalk Services, SOA

Looping, Scripting and global Variables in Maps
Looping, Scripting and global Variables in Maps avatar

January 27, 2011 By Alexandra Bravo Restrepo Leave a Comment

El siguiente ejemplo muestra el uso de los controles looping y scripting, para transformar un archivo XML que contiene la información de los empleados de una empresa, ordenados por el departamento al que pertenecen, en un archivo XML que contenga la información de los departamentos de la empresa, con sus empleados.

Archivo XML Origen:

Archivo XML Destino:

1. Crear los esquemas Empleados y Departamentos:

* Al crear los esquemas tener en cuenta que los nodos Departamento y Empleado deben tener las propiedades minOccurs en 1 y maxOccurs en unbounded o *, para que puedan tener como mínimo una repetición e infinitas repeticiones.

2. Crear el mapa para realizar la transformación de empleados a departamentos (Empleados_To_Departamentos):

3. Agregar al mapa Empleados_To_Departamentos, un control Scripting, para definir la variable global Código de Departamento, la cual se utilizará para identificar los departamentos de la empresa agregados al esquema destino (Departamentos).

4. Hacer doble clic en el scripting adicionado en el paso anterior, para configurarlo:

* Definir un parámetro de entrada con un valor nulo por defecto (Solo se debe definir una entrada, porque solo se va a declarar una variable global).

* Hacer clic en la ficha Script Functoid Configuration, para definir la variable global y las operaciones para Modificar y Consultar el valor de la variable global.

5. Agregar al mapa Empleados_To_Departamentos, un control Looping, para recorrer los registros de los empleados del esquema origen.

6. Agregar al mapa Empleados_To_Departamentos, un segundo control Scripting, para obtener el valor de la variable global _CodigoDepto. Este nuevo control se debe configurar de la siguiente manera:

* No debe tener parámetros de entrada

* Hacer clic en la ficha Script Functoid Configuration, para escribir el código que permite obtener el valor asignado a la variable global _CodigoDepto

7. Agregar al mapa Empleados_To_Departamentos, el control lógico Not Equal, el cual debe tener como entradas la salida del segundo scripting (Valor de la variable global _CodigoDepto) y el código del departamento, con el fin de validar que estos valores sean diferentes, para poder incluir el departamento en el esquema destino.

8. Agregar el control Value Mapping, el cual debe tener como entradas, la salida del control lógico y el código del departamento, para que solo cuando la condición se cumpla se agregue la información del departamento al esquema destino.

9. Hacer un enlace entre el Departamento del esquema origen y el Nombre del esquema destino.

10. Agregar un tercer control scripting para actualizar el valor de la variable global _CodigoDepto por el valor del código del departamento que se encuentra en el ciclo.

11. Configurar el tercer scripting, para que reciba como parámetro de entrada el código del departamento, cuando la condición lógica se haya cumplido.

* Hacer clic en la ficha Script Functoid Configuration del tercer scripting, para escribir el código que permita actualizar el valor de la variable global _CodigoDepto.

12. Agregar un cuarto control scripting, para escribir el ciclo que permitirá obtener la información de los empleados correspondientes a un departamento y ubicarlos en el esquema destino. Este scripting debe recibir como parámetro el código del departamento que se encuentra en el ciclo y retornar la información de los empleados del departamento.

* Hacer clic en la ficha Script Functoid Configuration del cuarto scripting, para escribir el código que permita obtener los empleados de un departamento.

Finalmente el mapa esta listo para las pruebas.

Filed Under: .NET, BizTalk, BizTalk 2010 configurations, BizTalk Application, SOA

  • « Previous Page
  • 1
  • …
  • 6
  • 7
  • 8
  • 9
  • 10
  • …
  • 19
  • Next Page »

Team


Marco
Antonio Hernández

Jaime
Alonso Páez

Luis
Carlos Bernal

Ana
María Orozco

Juan
Camilo Zapata

Carlos
Alberto Rueda

Sonia
Elizabeth Soriano

Diana
Díaz Grijalba

Alexandra
Bravo Restrepo

Bernardo
Enrique Cardales

Juan
Alberto Vélez

Jhon
Jairo Rodriguez

Diana
Paola Padilla

Gustavo
Adolfo Echeverry

Yully
Arias Castillo

Carlos
Andrés Vélez

Brayan
Ruiz

Jesús
Javier Hernández

Alejandro
Garcia Forero

Natalia
Zartha Suárez

Josué
Leonardo Bohórquez

Oscar
Alberto Urrea

Odahir
Rolando Salcedo

Jimmy
Quejada Meneses

Juan
Mauricio García

Mario
Andrés Cortés

Eric
Yovanny Martinez

Carolina
Torres Rodríguez

Tag Cloud

.NET (9) 940px (1) Analysis Services mdx (1) An attempt was made to load a program with an incorrect format. (1) ASP.NET MVC (1) Azure (3) Backup (1) BAM (7) BAM API (1) BAMTraceException (2) BI (3) BizTalk (24) Business Intelligence (6) C# (2) caracteristicas de publicacion (2) Content Editor (3) ESB (15) ESB Toolkit (3) General (4) habilitar caracteristicas (3) indexes (2) Integration Services (2) Master Page (3) MDX (2) MSE (11) net.tcp (2) Office 365 (2) Oracle (2) Performance Point (2) Public Website (2) Receive Location (2) SDK (2) Servicio Web (2) Sharepoint 2010 (2) SharePoint 2013 (4) SharePoint Online (2) SOA (8) Soap Fault (2) Sort Months MDX (2) SQL Server (2) Visual (2) Visual Studio 2010 (2) WCF (19) Windows (3) Windows 8 (17)

Categories

  • .NET (33)
  • Analysis Services (1)
  • ASP.NET MVC (2)
  • Azure (7)
  • BAM (9)
  • BAM PrimaryImport (3)
  • BigData (1)
  • BizTalk (77)
  • BizTalk 2010 configurations (57)
  • BizTalk Application (60)
  • BizTalk Services (13)
  • Business Intelligence (4)
  • Cloud (3)
  • CMD (1)
  • CodeSmith – NetTiers (2)
  • CommandPrompt (1)
  • CRM OptionSet mapping component (1)
  • Desarrollo de software (6)
  • develop (6)
  • developers (3)
  • DropBox (1)
  • Dynamics (1)
  • Enterprise Architect (1)
  • Entity Framework (1)
  • Errores BizTalk (2)
  • ESB (27)
  • ETL (1)
  • Event Viewer (1)
  • Excel Services (1)
  • Foreach loop container (1)
  • General (4)
  • Gerencia de Proyectos (2)
  • Google (1)
  • Grouped Slices (1)
  • Human Talent (1)
  • IIS (4)
  • Integración (6)
  • Integration Services (3)
  • KingswaySoft (1)
  • Lync (1)
  • MSE (13)
  • Office 365 (2)
  • Oracle Data Adapter (2)
  • Performance Point (4)
  • Picklist (1)
  • Pivot Table (1)
  • Procesos (1)
  • Pruebas (1)
  • Public Website (2)
  • Reports (1)
  • SCRUM (1)
  • SDK (2)
  • SEO (1)
  • Servicios (2)
  • Sharepoint (9)
  • SharePoint 2010 (10)
  • SharePoint 2013 (4)
  • SharePoint Online (2)
  • SharpBox (1)
  • Shortcuts (1)
  • Sin categoría (1)
  • SOA (50)
  • SQL (5)
  • SQL Server (3)
  • SQL Server Management Studio (1)
  • SSIS (3)
  • SSL (1)
  • SSO (1)
  • Tracking Profile Editor (2)
  • Twitter (1)
  • Uncategorized (1)
  • Virtual Network (2)
  • Visual Studio 11 (1)
  • Visual Studio 2010 (2)
  • Visual Studio Online (1)
  • VMware (2)
  • WCF (24)
  • Web (1)
  • Web Api (1)
  • Windows (5)
  • Windows 8 (11)
  • Windows Azure (2)
  • Windows Live Write (1)
  • Windows Phone (7)
  • Windows Phone 8 (1)
  • Windows Scheduler (1)
  • windows8 (2)
  • WindowsRT (3)
  • WP7 SDK (1)

Manage

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org