Umesh.Gandhi

Dear All,

Can somebody please provide me with either code sample or links on following issues or:-

- Dynamically applying policy from rule engine in custom pipeline component- I have come across this link, http://msdn2.microsoft.com/en-us/library/aa561951.aspx

- Storing configurable values in SSO, and at run time retrieving them in custom pipeline component. I believe this is possible in BizTalk 2006 R2

- How can I get the value of property to promote it in message context in my custom Pipeline component i.e. without hard coding property name or excepting it in custom property of custom pipeline component Do I have to store the property vales in SSO or can I promote all the values from Property Schema without explicitly specify it in my code

Technology to be used:

- BizTalk 2006/ BizTalk 2006 R2

- C#

- SQL Server 2005

- Enterprise SSO

Awaiting response.

Thanks in Advance.

Cheers,

Umesh.



Re: BizTalk R2 General BizTalk 2006 R2 : Custom Pipeline Component : Urgent.

Mick Badran - MVP

Wow Umesh - you forgot to mention you needed to build Rome in there as well Smile

You've decided to use a custom pipeline component OK - check out the SDK Examples and make the VirtualStream.cs class your friend.

1. Dynamically applying policy from rule engine in custom pipeline component- I have come across this link, http://msdn2.microsoft.com/en-us/library/aa561951.aspx

Code Snippet
xmlDocument = incomingXMLDocument;
typedXmlDocument = new Microsoft.RuleEngine.TypedXmlDocument("Microsoft.Samples.BizTalk.LoansProcessor.Case",xmlDocument);
policy = new Microsoft.RuleEngine.Policy("LoanProcessing",1,0);
policy.Execute(typedXmlDocument);
OutgoingXMLMessage.XMLCase = xmlDocument;
policy.Dispose();

The above snippet will execute the Rule Policy called 'LoanProcessing' V1.0 - this would be your value obtained from SSO.

When you execute the policy - 'policy.Execute' we can pass an object array in, such that maybe our rule operates over several documents and a couple of SQL Tables. So we pass all the necessary 'facts' into the rule for execution.

We can also call static methods on classes hence they are GACed and made globally available, we don't need to pass them in (we did in BTS04 though Smile

Check out http://msevents.microsoft.com/cui/WebCastEventDetails.aspx EventID=1032273113&EventCategory=5&culture=en-US&CountryCode=US - it's 2004 but the principles still apply.

 2. Storing configurable values in SSO, and at run time retrieving them in custom pipeline component. I believe this is possible in BizTalk 2006 R2
Make a reference to Microsoft.BizTalk.SSOClient.Interop.dll
ISSOLookup1
is the interface to retrieve values - check the SDK for some examples of storing and reading values.
3. have a look at some of the custom pipeline component examples within the SDK - you could do a lookup on your propertyName through SSO or through the BTSNTSvc.exe.config or through many other ways.
Good luck.





Re: BizTalk R2 General BizTalk 2006 R2 : Custom Pipeline Component : Urgent.

Umesh.Gandhi

Thanks.

I will go thru the links that you have provided.

One more issue :

When I add a new property value to property schema:-

-do I have to start my application or I can simply redeploy my property schema without stopping the Application

- Or do I have to deploy my property schema in the some Global area of BizTalk server, where in I can re-deploy my schema without affecting my application.

Cheers,

Umesh.





Re: BizTalk R2 General BizTalk 2006 R2 : Custom Pipeline Component : Urgent.

Alan Smith MVP

Hi,

When you add a value to the property schema:

Redeploy the assembly to the BizTalk management database

GAC the assembly on the BizTalk Boxes,

Restart the relevant host instances on the BizTalk boxes

On a dev box (single server) you can just deploy with Visual Studio, but you will have to restart the BizTalk host instances for the changes to take effect.

Regards,

Alan





Re: BizTalk R2 General BizTalk 2006 R2 : Custom Pipeline Component : Urgent.

Steve Jamieson - MSFT

Some further info about using ENTSSO -

You should reference the "Microsoft.EnterpriseSingleSignOn.Interop.dll" assembly, not the "Microsoft.BizTalk.Interop.SSOClient.dll" - this "BizTalk" one is for backwards compatibility.

Some further samples for using the ENTSSO interfaces, including the ENTSSO Config Store are available here -

http://download.microsoft.com/download/f/2/a/f2a1a572-5f12-44f4-acd0-69cdab8cd3c6/EnterpriseSSOTutorials.exe





Re: BizTalk R2 General BizTalk 2006 R2 : Custom Pipeline Component : Urgent.

Umesh.Gandhi

Thanks Alan & Steve.

Today I am going to work on the all links provided by you guys.

Will shortly put my loads of queries !!! (Hopefully its not required...)

Cheers,

Umesh.





Re: BizTalk R2 General BizTalk 2006 R2 : Custom Pipeline Component : Urgent.

Umesh.Gandhi

Hi,

In continuation....

How to add the configuration information without using the API's

Cheers,

Umesh.





Re: BizTalk R2 General BizTalk 2006 R2 : Custom Pipeline Component : Urgent.

Steve Jamieson - MSFT

Hi Umesh -

Sorry, there is no way to add the configuration information (to a Config Store application) other than using the API, ISSOConfigStore:Tongue TiedetConfigInfo. There is no GUI for this and this is not supported by the command line tools either. I think there is sample code for this in the sample link above.

You can create Config Store applications using either the command line tools (as above) or using the APIs, you cannot create Config Store apps using the GUI.