"No one is harder on a talented person than the person themselves" - Linda Wilkinson ; "Trust your guts and don't follow the herd" ; "Validate direction not destination" ;
Showing posts with label Biztalk Exercise. Show all posts
Showing posts with label Biztalk Exercise. Show all posts

March 08, 2010

Biztalk Recipe No 4

Today we would look at publishing message to MessageBox and subscribing and transforming it.
  1. Receive and Post Message M1 in MessageBox
  2. Subscribe and Transform the message M1 into M2
  3. Send the message M2 to another location
Step 1 - Create an Empty Biztalk Project
Step 2 - Create a New Message M1 Schema (ReceiveSchema)












Insert ChildFieldElement Id and Name











Step 3 - Create a New Message M2 Schema (Transform Schema)











Step 4 Add an Empty Biztalk Orchestration
STEP 5 Add Message1 Based on ReceiveSchema, Add Message2 Based on TransformSchema




































Step 6 - Add a ReceiveShape, Set Activate-True, Message -> Message1

Step 7 - Specify Direct Binding for Port. Post Message in MessageBox

Step 8 - Add a Transform Shape, Under Properties of TransformShape ->Input Messages, SpecifySource Message_1 and Destination Message_2 and Click on OK

Step 9 - Biztalk Mapper would be launched. Map Id to Id & Name to Comments


Step 10 - Now go back to orchestration and add send shape and Assign Message_2 for Send Shape and bind port
Step 11 - Orchestration
Step 12 - Under Project->Biztalk Server Project -> Specify Application Name under Deployment Tab, Under Signing Tab sign the assembly
Step 13 Build and Deploy the application
Step 14 Start->Run-> btsmmc.msc
Step 15 - Goto Application. Create a Receive Location and a Send Port. Bind the orchestration and start it


















Post a Message in Receive Location, It would be transformed and the message would be available in the SendPort Location Configured. Hope this article helps. Day by day would target to learn little by little.....Happy Learning!!!!

More Reads
BizTalk: Instance Subscription and Convoys: Details
BizTalk and SQL: Alternatives to the SQL receive adapter. Using Msmq to receive SQL data
BizTalk: Suspend shape and Convoy
BizTalk: Sample: Context routing and Throttling with orchestration

February 27, 2010

Third Biztalk Experiment

Third experiment is for correlation concept. Correlation is a process of associating an incoming message with the appropriate instance of an orchestration (link)

Understanding is – “Correlation is a process of relating an incoming message based on fields promoted and stored for its related messages, u can relate two messages based on some common property” .
There are three correlated messages exchange patterns:
• Traditional handshake
• Sequential convoy
• Parallel convoy

I am going to try simple Traditional handshake scenario.
Step 1. Created a New Biztalk Project
Step 2. Now Input XML Schema is Created

Step 3. Add a child Field Element as mentioned below

Step 4. Add element OfferId and Promote it. Once you promote it promoted schema would be created


Step 5. Create Output XML Schema and promote OfferId Child Field Element
 

Step 6. Create an Empty Biztalk Orchestration and Create two messages based on Input and Output Schema

Step 7. Create Message2 based on Output Schema

Step 8. The steps we will create in orchestration and our objective is listed below 
  • ReceiveShape – Get Input based on input XML schema, Set Activate –True. (Message1)
  • Send Shape – Send Input to a file share and enable correlation (Message1)
  • ReceiveShape – Receive the output file and follow correlation (Message2)
  • SendShape – Send the correlated message to destination file share (Message2)
This is all we are going to achieve in next listed steps. Created Receive and Send shape for Input Schema based message. Now we are going to Enable Correlation Type and Define Correlation Set




Step 9.  Create Correlation Type based on the promoted property offerid
Step 10. Create a Correlation Set based on Correlation Type
Step 11. Initialize Correlation Set for the Send Port
Step 12. Now add a Receive port and set follow correlation property
Step 13. Orchestration will look like below
Step 14. Build Application, Signin with Key, Deploy it
Step 15. Bind Ports and Assign Host. I have missed it in the picture
Step 16. Create sample files and drop in the source share with input xml.
Step 17. Create output file in the next receive share. Only matching offerid should reach the final share configured in the last send shape.

I was able to learn it with guidance from my team. Happy Reading....

February 22, 2010

Second Biztalk Experiment

My second Biztalk Experiment is calling web services from Biztalk. Source is Link . I got everything about it from link. I am trying it out step by step from a beginner perspective.

Step 1 - To get the WSDL for web service Goto Add->Add Generated Items


Step 2 - Select the option Consume WCF Service

Step 3 - Select Option Metadata files (WSDL and XSD)
Step 4 - Create the webservice as per below code

[WebMethod]
public string ConcatName(string firstName, string lastName)
{
     return firstName + " " + lastName;
}



Host the  web service and add the wsdl

Save and Add the WSL

Step 5 - Under Orchestration View create two messages based on SOAP Request and Response


Step 6 - Create Messages as shown below
Message1

 Message2

Step 7 - Add the following shapes
 Step 8 - Add ports to shapes 

Step 9 - Individual Port configurations
Port1(One Way)

Port2 (Static Request-Response Port)


Port3 (One Way)

Step 8 - Build, Signin, Deploy the Application

Step 9 - While configuring the web service in send port, Configure as below

Step 10 - Mistakes and learnings
• Finding Multi-part messages under orchestration view
• In Port2 configuration– It must be sending a request and receiving a response
• Bind the ports – Specify WCF-BasicHttp and provide URL details
• Restart the host instances

Thanks to priya for correcting my mistakes.. Happy reading..

February 17, 2010

First Biztalk Experiment

I attended Biztalk traning few years back and nothing on top of my head now :). Curious to know biztalk and learn a bit wanted to attempt this example. I created a biztalk project and added orchestration. Dragged few shapes as mentioned in the pic. It looked like this

Dragged a Few Shapes :)
Step 1 - Time for me to get some help and run through this. I took some help from my colleague.
Step 2 - Create a Biztalk Project


Step 3 - Add a Test Schema
Step 4 - Insert Child Element

Step 5 - Validate and generate Instance
Step 6 - Add Orchestration
Step 7 - Add Receive Port. Drag Receive icon from Toolbox and select Activate = true, message = Message_1 from Properties window.
Step 8 - Add Message Schema
Step 9 - Add Port Configuration
Step 10 - Port Configure
Step 11 - Port Binding
Step 12 - Receive Port
Step 13 - Add Expression
Step 14 - Expression Code
Step 15 - Scope it
Step 16 - Add a send Port
Step 17 - Send port config specify Later
Step 18 - Exception Handler for Scope
Step 19 - Specify Exception Type and Exception Name
Step 20 - Add Expression
Step 21 - Add Suspend Shape
Step 22 - Suspend Message
Step 23 - Add Scope and Another Send Port
Step 24 - Add Another Exception for Capturing the exception
Step 25 - Expression Exception
Step 26 - Orchestration
Got the error - use of unconstructed message 'Message_1. I have wrongly put receive shape under scope one. I moved it out of scope1 and corrected picture as below.
Step 27 - Error Corrected
Step 28 - Strong name Key
Step 29 - Application Name Under Deployment
Step 30 - Sign in with Strong key
Deploy the solution. After Deploying You will see it under btsmmc.msc. Biztalk group->Apps->FileCopyExample.
Step 31 - Send Port Create after deploying
Step 32 - Send Port Check XML Transmit
Step 33 - Receive Port - Receive Location properties
Step 34 - Bind Ports and Orcheatration
Step 35 -  I was able to test it successfully for both positive and negative scenarios. For negative scenario,
When first copy folder is Renamed - Error captured in eventlog
Thanks to priya and srinivas for their help. And Now I need to learn a little more deep into biztalk.
  1. PassThru can be used with almost all types of files.
  2. It will not promote properties
  3. It basically provides a way to pass the message right into the MessageBox
  4. The Xml Transmit is used for processing an Xml message and it will promote a few properties from the Xml message.
  5. The XMLTransmit contains the XML Assembler component.

More Reads

WCF-SQL Adapter Stored Procedure


Happy Reading