iT Synergy Blogs

Growing Innovation - Soluciones a problemas reales

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

Copyright © 2025 · iT Synergy·

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

Manage DataEntities in Managed Service Engine
Manage DataEntities in Managed Service Engine avatar

January 10, 2011 By Marco Antonio Hernández Prado Leave a Comment

En varios clientes hemos encontrado el siguiente escenario, “se debe actualizar el servicio virtualizado ya que servicio original cambió, se virtualiza el servicio con la operación actualizada pero el servicio virtualizado no cambia”:

Para hacer más sencilla la explicación voy a realizar el ejemplo con un servicio mock generado para pruebas. Este servicio tiene una operación llamada AddNumbers esta operación tiene un MessageContract llamado NumberRequest y este tiene un DataContract llamado Numbers, la operación AddNumbers retorna un DataContract NumbersResponse. Este DataContract  en MSE se puede Visualizar en el Layout DataEntity Management.

 

Servicio visto con WCF Test Client con la operación AddNumbers, en esta podemos observar que obtiene el contrato Numbers, este tiene dos propiedades: Number1 y Number2

En MSE en el Layout DataEntity Management las podemos visualizar así:

Cambio en el Servicio

En el día a día nuestros servicios van cambiando tanto en sus operaciones como en sus contratos, en un mundo ideal deberíamos realizar cambios en los namespaces cuando cambie un contrato en un servicio, pero desafortunadamente así no es, en el mundo real de SOA MSE nos colabora con la administración de estas entidades (Contratos), primero veamos la actualización del Servicio WCF, esta fue hecha de una vez al contrato si haber realizado cambio alguno en el servicio o en el namespace.

 

 

Como hemos identificado que cambio el contrato, en el MSE lo que hacemos es una importación de schemas, no es necesario realizar importación de operaciones o de recursos.

 

Aquí seleccionamos Import Schemas

Seleccionamos los esquemas o esquema a importar, para nuestro caso vamos a seleccionarlos todos:

 

 

Después de la importación Exitosa, vamos al Menú Tools-Manage Service Model Components-Data Entities

 

En el menú desplegable seleccionamos el schema que queremos actualizar, para nuestro caso el schema numbers que está en el namespace http://xxxx/guidances/mockservices/datacontracts/numbers/1.0, seleccionamos la entidad de Tipo Complejo (Complex Type)

 

Si hay más de una versión(revisión)de esta entidad MSE nos muestra está información por fechas, aquí podemos ver que en la revisión del 1/11/2011 1:00:28 AM la entidad Numbers tiene dos propiedades, Number1 y Number2

image

La revisión Latest Revision la entidad Numbers tiene tres propiedades, Number1, Number2 y Number3, esta revisión es la que vamos a seleccionar

Seleccionamos Update Revision Reference

 

 

Aquí visualizamos que revisión hemos seleccionado:

En la pestaña Update References seleccionamos por cual revisión vamos a reemplazar la que seleccionamos, en este caso vamos a reemplazar la revisión Latest revision por la revisión 1/11/2011 1:00:28 AM

 

 

Cuando finalizamos el registro del Schema lo que sucede al final es la actualización de la Tabla SchemaObjectDependencies, cambia la asociación entre las columnas SchemaObjectID y ParentObjectID, después de la importación podemos reiniciar los servicios de MSE Runtime y hacer la actualización del Servicio expuesto por el MSE

 

Aquí volvemos a realizar el llamado por medio del WCF Test Client y ya vemos actualizada la entidad con el cambio solicitado

 

Filed Under: .NET, MSE, WCF Tagged With: MSE, WCF

Data type mismatch in criteria expression con el Oledb Provider
Data type mismatch in criteria expression con el Oledb Provider avatar

October 22, 2010 By Jaime Alonso Páez torres Leave a Comment

Problema

Usando el proveedor de datos OLEDB para FoxPro 9.0 al intentar actualizar o insertar en una tabla que tuviera una columna de tipo OleDbType.DBTimeStamp se genera el siguiente error:

Data type mismatch in criteria expression

Causa

El problema es causado por la columna DateTime al pasarle los milisegundos ya que este tipo de dato OleDbType.DBTimeStamp no los soporta.

Solución

Eliminar los milisegundos. Tener en cuenta que el parametro en el CommandText debe estar con signo ?, ya que si se usa @ se genera error. El siguiente es un ejemplo donde se asume que el DbCommand “cmd” ya esta definido .

cmd.CommandText = “INSERT INTO flor (bar_flor,fecha_actu)  VALUES (”,?)”;

DbParameter par = cmd.CreateParameter();
par.DbType = System.Data.DbType.DateTime;
par.ParameterName = “@fecha_actu”;
par.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day,
DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
cmd.Parameters.Add(par);
dbConn.Open();
result = cmd.ExecuteNonQuery();

Filed Under: .NET

  • « Previous Page
  • 1
  • …
  • 3
  • 4
  • 5
  • 6
  • 7
  • …
  • 11
  • Next Page »

Team


Marco
Antonio Hernández

Jaime
Alonso Páez

Luis
Carlos Bernal

Ana
María Orozco

Juan
Camilo Zapata

Sonia
Elizabeth Soriano

Diana
Díaz Grijalba

Carlos
Alberto Rueda

Bernardo
Enrique Cardales

Alexandra
Bravo Restrepo

Juan
Alberto Vélez

Diana
Paola Padilla

Jhon
Jairo Rodriguez

Brayan
Ruiz

Jesús
Javier Hernández

Alejandro
Garcia Forero

Gustavo
Adolfo Echeverry

Carlos
Andrés Vélez

Yully
Arias Castillo

Oscar
Alberto Urrea

Odahir
Rolando Salcedo

Jimmy
Quejada Meneses

Natalia
Zartha Suárez

Josué
Leonardo Bohórquez

Mario
Andrés Cortés

Eric
Yovanny Martinez

Carolina
Torres Rodríguez

Juan
Mauricio García

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