BizTalk 2004 SP2, New BizTalk 2006 Books


So we’ve got BizTalk 2004 SP2 finally out today (hat tip: Tim Rayburn) and you can see what’s included in this must-install pack here … List of bugs that are fixed in BizTalk Server 2004 Service Pack 2.


Also, I recently picked up both BizTalk 2006 Recipes as well as Pro BizTalk 2006. The Recipes book is a solid intro into BizTalk, nicely explains concepts in a “problem … solution” approach. The Pro book was excellent and taught me a number of things I didn’t know already. I wrote up a review on the Amazon.com page, so no need to rehash it here. So, go right now and harass your boss, spouse, neighbor, or robot master into buying you both of these for the holiday season. No, that’s not a geeky request at all.


Technorati Tags: BizTalk

BizTalk 2004 SP2, New BizTalk 2006 Books

So we've got BizTalk 2004 SP2 finally out today (hat tip: Tim Rayburn) and you can see what's included in this must-install pack here … List of bugs that are fixed in BizTalk Server 2004 Service Pack 2.

Also, I recently picked up both BizTalk 2006 Recipes as well as Pro BizTalk 2006. The Recipes book is a solid intro into BizTalk, nicely explains concepts in a "problem … solution" approach. The Pro book was excellent and taught me a number of things I didn't know already. I wrote up a review on the Amazon.com page, so no need to rehash it here. So, go right now and harass your boss, spouse, neighbor, or robot master into buying you both of these for the holiday season. No, that's not a geeky request at all.

Role Links Session 2

A question was asked after reading this article: At what point is the Party resolved to the actual Party. I ran my example again, and put a breakpoint at the send port and these are my findings:

After the Destination Role Link has been set, here are the settings:

Here is the details of the actual message:

Notice that the ParyName is empty.

I sent the message (but the send port is in the stopped state) and here are the message properties:

So it looks like the resolution of Parties happens actually once the message gets submitted back to the message boxafter the orchestration is completefor the message to find out which party the message is associated with.

My biggest question is if there is a way to associate the Alias name (Party1) instead of the Organization Value (EDI:\\123456789:ZZ:123456789), the programmers reference really is not that descriptive to explain what is really going on. As soon as I learn more, I will put it here.

Called Orchestrations do not Produce Service Instances in HAT

I’m currently on Microsoft ‘Developing Business Process and Integration Solutions using MS BizTalk Server 2006′ course and in the process of working through a lab, noticed some interesting behaviour when attempting to debug orchestrations that are called from other orchestrations.
It would appear that only asynchronous (aka ’started’) orchestrations will appear as service instances in HAT […]

Code snippet for serializationsurrogate

Code snippet for serializationsurrogate

If you read my blog you know I’ve talk about SerializationSurrogate before – http://www.masteringbiztalk.com/blogs/jon/PermaLink,guid,5f4d8c41-73bf-4d7f-93b4-8934130a783b.aspx

Teaching WF persistence today in Norway – one of my students (Fritz Lowrey) suggested
a snippet for creating the surrogate and the surrogateselector.  So here is my
attempt (just put it in your Csharp snippets directory inside of My Documents\Visual
Studio 2005\Code Snippets\Visual C#):

<?
xml version=1.0 encoding=utf-8?>>

<
CodeSnippet Format=1.0.0 xmlns=http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet>>

<
Header>>

<
Title>Serialization
Surrogate Snippet
</Title>>

<
Author>Jon
Flanders
</Author>>

<
Shortcut>ss</Shortcut>>

<
Description>A
snippet to create a SerializationSurrgote and Surrogate Selector for serializing a
.NET type that isn’t marked with the SerializableAttribute and doesn’t implement ISerializable
</Description>>

<
SnippetTypes>>

<
SnippetType>Expansion</SnippetType>>

</
SnippetTypes>>

</
Header>>

<
Snippet>>

<
Declarations>>

<
Literal>>

<
ID>type</ID>>

<
Default>value</Default>>

</
Literal>>

</
Declarations>>

<
Code Language=csharp>>

<![CDATA[

public class $type$SurrogateSelector : SurrogateSelector

{

public override ISerializationSurrogate GetSurrogate(Type type, StreamingContext context,
out ISurrogateSelector selector)

{

//check to see if type has DataContractAttribute

if (type==typeof($type$))

{

selector = this;

return new $type$SerializationSurrogate();

}

return base.GetSurrogate(type, context, out selector);

}

}

public class $type$SerializationSurrogate : ISerializationSurrogate

{

[Serializable]

public class $type$ContractRef : IObjectReference

{

#region IObjectReference Members

public object GetRealObject(StreamingContext context)

{

//TODO:Add code to create a new instance of the real object type

return null;

}

//TODO:Add fields for data you’d like serialized

#endregion

}

#region ISerializationSurrogate Members

public void GetObjectData(object obj, SerializationInfo info, StreamingContext context)

{

//TODO:Add data from original type instance

Type t = typeof($type$);

info.SetType(t);

}

public object SetObjectData(object obj, SerializationInfo info, StreamingContext context,
ISurrogateSelector selector)

{

return null;

 

}

#endregion

}

]]>>

</
Code>>

</
Snippet>>

</
CodeSnippet>>