iT Synergy Blogs

Growing Innovation - Soluciones a problemas reales

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

Copyright © 2025 · iT Synergy·

Capturar Mensaje SoapFault retornado de un Servicio Web o WCF
Capturar Mensaje SoapFault retornado de un Servicio Web o WCF avatar

March 7, 2013 By Jhon Jairo Rodriguez Leave a Comment

Hay veces cuando se importa un servicio web o WCF en el puerto ya venga el Soap Fault, para los casos en que este no venga se debe seguir los siguientes pasos;

Ir a orchestration view, hacer clic en “Type”, luego en “Port Type”

clip_image001

Se selecciona el puerto y la operación del servicio web que se desea agregar el mensaje de Soap Fault, paso a seguir se hace clic derecho y se selecciona la opción “New Fault Message”

clip_image003

Después de haber realizado el paso anterior se adiciona el fault message,

clip_image004

Se modifica el nombre del mensaje, y se va a la propiedad “MessageType” y se selecciona “schemas”

clip_image005

Luego se selecciona la opción “<select from referenced assembly … >”

clip_image006

Posteriormente aparece una ventana emergente con los esquemas que están en las referencias del proyecto, se hace clic en la referencia “Microsoft.Biztalk.GlobalPropertySchemas” y se busca el esquema Fault.

Este mensaje de Fault tiene dos versiones la 1.1 y la 1.2. Si no se tiene identificado que versión es la que nos devuelve el mensaje de Soap Fault se deben adicionar los dos mensajes. Para este ejemplo se seleccionara la versión 1.1

clip_image007

Después Se hace clic derecho sobre el scope en el que está el receive que tiene la respuesta del servicio web o WCF

clip_image008

En el catch que se generó se modifica el nombre con la propiedad “Name” y se asigna el nombre del objeto con la propiedad “Exception Object Name”.

clip_image009

Luego se va a la propiedad “Exception Object Type” y se selecciona el mensaje que se creó del soap Fault.

clip_image010

Después se selecciona el puerto del servicio web o del WCF para modificar la propiedad “Delivery Notification” con el valor “Transmitted”.

clip_image011

La estructura del SoapFault es

clip_image012

Para obtener los datos del error que vienen del SoapFault, se puede hacer de dos formas:

Por medio de un mapa donde el origen sea el SoapFault y el destino el esquema personalizado que se tenga en la aplicación para reportar errores

clip_image014

La otra opción es con XPATH

Se obtiene el valor “FaultCode” del SoapFault

sXPath=”string(/*[local-name()=’Fault’ and namespace-uri()=’http://schemas.xmlsoap.org/soap/envelope/’]/*[local-name()=’faultcode’ and namespace-uri()=”]/text())”;

sCodeSoapFault=System.Convert.ToString(xpath(SoapFaultException.Fault,sXPath));

Se obtiene el valor “FaultString”del SoapFault

sXPath=”string(/*[local-name()=’Fault’ and namespace-uri()=’http://schemas.xmlsoap.org/soap/envelope/’]/*[local-name()=’faultstring’ and namespace-uri()=”]/text())”;

 

sErrorSoapFault=System.Convert.ToString(xpath(SoapFaultException.Fault,sXPath));

Filed Under: BizTalk, BizTalk 2010 configurations, BizTalk Application, ESB, SOA Tagged With: Servicio Web, Soap Fault, WCF, Windows 8

Consumir servicio web o WCF desde Biztalk
Consumir servicio web o WCF desde Biztalk avatar

October 23, 2012 By Jhon Jairo Rodriguez Leave a Comment

Para consumir un servicio web o WCF desde biztalk se debe realizar los siguientes pasos:

image

En un proyecto Biztalk hacer click derecho, seleccionar “Add” y hacer click en la opción Add Generated Itemsimage

Una vez realizada la anterior operación, aparece una ventana emergente para agregar el ítem que se desea generar, se selecciona la opción “Consume WCF Service” y click en el botón “Add”.

image

Después de hacer click sobre el botón “Add”, se presenta una ventana wizard en dos formas para el consumo del servicio web, así:

  • La primera opción “Metadata Exchange (MEX) endpoint” opera si se tiene y se puede acceder a la URL del servicio web o del WCF.
  • La segunda opción “Metadata Files (WSDL and XSD)”, aplica cuando se tiene el WSDL del servicio web o WCF, para los casos en que éste haga referencia a esquemas adicionales se deben adicionar éstos también.

Para nuestro ejemplo se selecciona la opción “Metadata Exchange (MEX) endpoint”, y se hace click sobre el botón “Next >”

image

Posteriormente se escribe la URL del servicio web o WCF y se hace click en el botón “Get”, luego de un momento se carga el servicio web y se habilita el botón “Next >”.

image

A continuación, se escribe el namespace del servicio y se hace click en el botón “import >>“

image

Una vez se ha finalizado la importación del servicio web o WCF, se crean archivos dependiendo del wsdl, en este caso genera, dos XML (la diferencia de estos dos es el tipo de transporte WCF-BasicHttp y WCF-Custom) que contienen el bindings del puerto que se comunica con el servicio web o WCF y XSD que son los contratos de los objetos que puede tener el servicio web o WCF y la orquestación que contiene los multi-part message types y Port types que se obtuvieron del servicio web o WCF

image

Para probar la invocación del servicio web o WCF, se crea una orquestación que está compuesta por un Receive Port (puerto de entrada), dos send Port(Servicio Web o WCF) y una transformación (Mapa que contiene esquema personalizado con el esquema de request del Servicio Web o WCF).

image

Después de hacer el Deploy de los artefactos (orquestaciones, mapas, esquemas) para crear el send port del servicio, se abre la consola administradora de BizTalk Server, en la aplicación donde se hizo el despliegue de los artefactos mencionados anteriormente, se hace clic derecho se selecciona “Import” y luego se hace clic sobre “Bindings”

image

Aparece una ventana emergente y se busca el binding que se generó al importar el servicio web o WSDL, una vez seleccionado se da clic en el botón “Open”.

image

Luego se va a los Send Port y se busca el puerto que consume el servicio Web o WCF.

image

La orquestación arranca con un puerto de entrada tipo file para este ejemplo la estructura es:

image

La respuesta que se obtiene con la invocación del WCF es:

image

NOTA: No siempre cuando se importa un WCF o un servicio web se obtiene el Send Port Físico que se comunica con el servicio, para estos casos lo que se debe hacer es crear el send Port desde la consola administrador BizTalk. Se debe tener en cuenta es Transport type, Address (URI) y el action.

image

Para armar el SOAP action, se debe tener la siguiente estructura:

<BtsActionMapping xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>

<Operation Name=”Nombre del método del servicio” Action=”ruta del método en el WSDL del servicio” />

<Operation Name=”consultarPersonaByIdentificacion” Action=”http://tempuri.org/IPersonas/consultarPersonaByIdentificacion” />

</BtsActionMapping>

Filed Under: BizTalk, BizTalk 2010 configurations, BizTalk Application, SOA Tagged With: Servicio Web, WCF

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

Yully
Arias Castillo

Carlos
Andrés Vélez

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