2009年2月9日

[Windows7] Office 2007 on Windows 7

Office 2007 prompt the following error on Windows 7

登錄VB Script DLL 失敗,請重新安裝或執行 Regsvr32.exe Vbscript.dll 來進行登錄

And this error stills even if I register vbscript.dll with Regsvr32.exe.

This error occurs due to the incompatible between OS language and Office language, but we can fix this by correcting Office’s language setting via [Start]->[Programs]->[Microsoft Office]->[Microsoft Office Tools]->[Office 2007 Languages]

Capture

Just correct the language setting here and you office 2007 should be working fine with Windows 7.

[BizTalk] Promote Property in Orchestration

We can easily promote properties in pipeline by code, but how can we promote properties in orchestration ?

Although BizTalk does not provide a built-in function to do this, we can still promote properties in an Orchestration by creating a correlation set and initialize the created correlation set in a send shape (in Direct binding scenario). We don’t have to create a following-correlation-set since the created correlation set is only for promoting properties, not for correlation.

Note that, a correlation set is a set of properties which Orchestrations subscribe them for correlation, since these properties has to be subscribed for routing purpose, these properties are automatically promoted when they were added into a correlation set.

2009年2月4日

[BizTalk] Invoke web service dynamically in Orchestration

There’re times you have to invoke various web method of one single web service in orchestration. To create a dynamic send port is not a solution since the [Operation] name of the dynamic send port has to be exactly the same with the web method you are to invoke.

However, this can be done with a static SOAP send port.

First we create a webservice proxy assembly, and setup a SOAP send port with the assembly specified in SOAP Adapter configuration page. Note that in the [Method] combobox, we have to select [Specify later]

Now return to your orchestration, create a configured port on the port surface, and a [Expression] shape before [Send] shape.

In [Expression] shape, use the following script to specify Method name of the proxy class.

outputMessage(BTS.MethodName) = "YourWebMethodName";


[BizTalk] Transform dynamically in Orchestration

To dynamically transform one message to another, we need to create mapper object on our own rather then use the Transform shape provided by BizTalk Server.

When we create and deploy a BizTalk Mapper, BTS Engine compiles the created mapper (btm file) into a .Net type, so what we need to do is to obtain the mapper class type and then invoke BizTalk buildin function “transform”to do the transformation.

To obtain mapper type, simply drag an Expression shaep into the orchestration and type the following script in it

var_mapper = Type.GetType(MapperFullQualifiedName);






And in a [Construct Message] shape





transform(outputMessage) = var_mapper(inputMessage)


Blog Archive

About Me