Wednesday 24 December 2008

How to Call Custom Receive Pipeline inside Orchestration

How to Call Custom Receive Pipeline inside Orchestration
Create a simple project which accepts OrderDetails as input xml and transform to OrderSummary xml file.
ProjectName : CallPipeline
Here I created custom receive Pipeline which uses the “XML disassembler” component to validate my input message against the predefined XSD schema.

Step-1

Create Schema CallPiplineInOrder.xsd and define the structure as mentioned below image
Create Schema CallPipelineOutOrder.xsd and define the structure as mentioned below image and do a simple map.

Step-2
Add new receivepipeline and name it as receiveOrderPipe.btp and add the “XML Disassember” and set the property

DocumentSchema = CallPipeline.CallPiplineInOrder

Step-3
Add reference of Microsoft.XLANGs.Pipeline.dll from the location C:\Program Files\Microsoft BizTalk Server 2006\Microsoft.XLANGs.Pipeline.dll
Create New Orchestration and place an Scope shape and set the Transaction Type= Atomic

Create new Variable vReceivePipeline and set the property
Type= Microsoft.XLANGs.Pipeline.ReceivePipelineOutputMessages

Inside the Expression Shape Write the following Code.
vReceivePipeline = Microsoft.XLANGs.Pipeline.XLANGPipelineManager.ExecuteReceivePipeline(typeof(CallPipeline.receiveOrderPipe),inboundMsg);

CallPipeline.receiveOrderPipe is projectName.Receive Pipeline TypeName



Here MY projectName = CallPipeline and Receive Pipeline TypeName = receiveOrderPipe

Finally your orchestration looks like ..


You can reach me @raj.webjunky@yahoo.com











No comments:

Post a Comment