Dealing with web services returning byte[] in BizTalk

Posted at: 11/5/2008 at 11:51 AM by saravana
Recently I saw some postings in the BizTalk newsgroup asking how we can handle web service operation that returns a byte[]. Even though it’s a trivial task, you need to be aware of certain things. Below is my simple web service operation, which returns a byte[]. For simplicity, I just got this one operation which can return either a simple string, or some form of xml or some binary data . When you invoke your web service from Internet explorer, you’ll get the result something similar to the ... [More]
Tags: | |  Categories: BizTalk General
Actions: Email this article Email | Kick it! | DZone it! | Save to del.icio.us | Technorati Links
Post Information: Permanent LinkPermalink | CommentsComments(11) | Comments RSS

SOAP Adapter and BizTalk Web Publishing Wizard - things you need to know.

Posted at: 8/17/2007 at 4:42 AM by saravana
Exposing an Orchestration as Web Service: This is the safest option you can choose, when you want to expose your business process as an industry standard web service, which can later be consumed by a client (consumer) either using a web service proxy or HTTP post of correctly formatted SOAP message. There is a very good article in MSDN http://msdn2.microsoft.com/en-US/library/ms935219.aspx explaining how you can expose your orchestration as web service. Let's assume you h... [More]
Tags: | | |  Categories: BizTalk General
Actions: Email this article Email | Kick it! | DZone it! | Save to del.icio.us | Technorati Links
Post Information: Permanent LinkPermalink | CommentsComments(66) | Comments RSS

Adding Custom HTTP Headers to messages send via HTTP Adapter.

Posted at: 6/6/2007 at 10:14 PM by saravana
Download Full sample code here There will often be times we need to add some custom HTTP Headers to our outgoing message. The common one we come across is SOAPAction, if you need to communicate with the web services just with HTTP adapter (not using SOAP Adapter). BizTalk server gives us a context property called "UserHttpHeader" as part of the HTTP adapter, which can be used to set custom HTTP headers. The below Orchestration shows an example, how you can take ad... [More]
Tags: | |  Categories: BizTalk General
Actions: Email this article Email | Kick it! | DZone it! | Save to del.icio.us | Technorati Links
Post Information: Permanent LinkPermalink | CommentsComments(48) | Comments RSS

BizTalk 2006 R2 - consume an .ASMX webservice using WCF-BasicHttp adapter

Posted at: 5/31/2007 at 7:40 PM by saravana
Normally when we need to consume a .asmx web service in BizTalk 2004/2006 (NOT R2) inside an orchestration, we add a web reference, which will create all the multi-part message and web port type required to consume the orchestration. You construct the orchestration and configure the SOAP adapter in the send port to consume the web service. I suppose that's the normal route any BizTalk developer will take when you are put under a circumstance to consume an .asmx webservice using WCF-Ba... [More]
Tags: | |  Categories: BizTalk 2006 R2 | BizTalk General
Actions: Email this article Email | Kick it! | DZone it! | Save to del.icio.us | Technorati Links
Post Information: Permanent LinkPermalink | CommentsComments(35) | Comments RSS

Output custom formatted message from Orchestration.

Posted at: 5/24/2007 at 6:56 AM by saravana
Have you ever wanted to create a custom formatted message. For example if you define a message of type System.String inside your orchestration and output it via an adapter the result will be as shown below <?xml version="1.0" ?> <string>Hello there</string> this is because of the default serialization behavior of .NET base types within BizTalk. If in case you wanted to output the message as a simple string, in our case "Hello there" without an... [More]
Tags: |  Categories: BizTalk General
Actions: Email this article Email | Kick it! | DZone it! | Save to del.icio.us | Technorati Links
Post Information: Permanent LinkPermalink | CommentsComments(4) | Comments RSS

Orchestration - Handle SOAP Exception and deal with Suspended (resumable) messages

Posted at: 5/16/2007 at 6:52 PM by saravana
The main reason for this blog post is due to this newsgroup post Download Sample from here. Step #1: Catching SOAP Exception: Whenever you call a Web service it's a good practice to handle the SOAP exception specifically rather than just leaving the orchestration to throw an un-handled exception which will result in orchestration service instance and all the referenced message instances being suspended. As shown in the following Orchestration diagram, handling a  SOAP e... [More]
Tags: | | |  Categories: BizTalk General
Actions: Email this article Email | Kick it! | DZone it! | Save to del.icio.us | Technorati Links
Post Information: Permanent LinkPermalink | CommentsComments(37) | Comments RSS

Ah!! Control flow didn't get into my exception handler block inside the orchestration (or) how can I handle the exception when the send port raises the error with suspended (resumable) status.

Posted at: 4/26/2007 at 7:01 PM by saravana
Conditions: 1. Above orchestration is constructed with just default settings. 2. Logical port Port_2 is configured to use a Send Port with FILE adapter pointing to an unknown URI (purposely, to generate error) and RetryCount = 0 3. Logical port Port_5 is configured to use a Send Port with FILE adapter (normal valid setting). Will the control flow get into exception handler? In the above scenario the orchestration will complete successfully w... [More]
Tags: |  Categories: BizTalk General
Actions: Email this article Email | Kick it! | DZone it! | Save to del.icio.us | Technorati Links
Post Information: Permanent LinkPermalink | CommentsComments(7) | Comments RSS

Property Promotion inside Orchestration

Posted at: 1/8/2007 at 8:02 PM by saravana
Promoting properties inside BizTalk is quite common task, after all back bone of BizTalk's underlying routing infrastructure Publish-Subscribe is based on property promotion. There are tons of articles published in the web explaining this concept. Properties get promoted within BizTalk at different places, Example: some of the properties gets promoted by Adapters, Pipelines Components, Messaging Engine etc,etc. In custom pipeline components ,developers can use either IBaseMessageConte... [More]
Tags: |  Categories: BizTalk General
Actions: Email this article Email | Kick it! | DZone it! | Save to del.icio.us | Technorati Links
Post Information: Permanent LinkPermalink | CommentsComments(32) | Comments RSS

Message Debatching inside Biztalk Orchestration, with TargetNamespace.

Posted at: 12/18/2006 at 6:08 PM by saravana
Recently I end up in a scenario where I need to debatch a message inside the orchestration to produce multiple messages based on XPATH. There are already quite few articles about it, one good one is from Stephen Thomas hands on lab. Only problem with this lab is, the examples are based on schemas without any TargetNamespace. In a real world situation its hard to imagine a schema without a TargetNamespace, so I spend some time to enhance the sample with TargetNamespace. I'll highl... [More]
Tags: |  Categories: BizTalk General
Actions: Email this article Email | Kick it! | DZone it! | Save to del.icio.us | Technorati Links
Post Information: Permanent LinkPermalink | CommentsComments(28) | Comments RSS

Persistence Points in Orchestration

Posted at: 5/16/2006 at 10:02 AM by saravana
The orchestration engine persists the entire state of a running orchestration instance at various points, so that the instance can later be completely restored in memory. The state includes 1. The internal state of the engine, including its current progress. 2. The state of any .NET components that maintain state information and are being used by the orchestration. 3. Message and variable values. Persistence Points The orchestration engine saves the state of a running orchestration... [More]
Tags: |  Categories: BizTalk General
Actions: Email this article Email | Kick it! | DZone it! | Save to del.icio.us | Technorati Links
Post Information: Permanent LinkPermalink | CommentsComments(36) | Comments RSS