Thursday, May 10, 2012

MSI–Uninstall started from a network share–big nono!

I had this script for a while that I used to install/uninstall a bunch of MSI files prior to do a BizTalk deployment. I though it was working fantastic;

for /d %%d in (.) do forfiles /P . /S /M *.msi /C "cmd /c msiexec /x @file /quiet"

Unitill…..

I did this from a network share…this is not supported, a genius decided to use Windows as the Default path in this case…thus looking in the Windows folder and starts to uninstall all MSI’s that are lying around!!!

Never…..never run this from a network share!!

MSIUninstall

HTH,

Sander

Pending blog items–Choose!

 

As I mentioned…I have a blog backlog…so much to do, so little time…so you can help me out. I have several pending blog items. Hereby the current list and I invite you to help me out in determining the priority, otherwise…it will be me who chooses what’s next Glimlach.

image

Sorry for the delay in posting….Bedroefde emoticon

 

Kind regards,

Sander

Wednesday, May 09, 2012

ESB Toolkit – BAM Error (TDDS failed to batch execution of streams)

 

You have this error? You are using the the ESB Toolkit? You are pulling your hairs out?

This post might be your solution Glimlach

Context

The ESB Toolkit allows for BAM Logging in a standard ESB Toolkit model. This can be enabled per Itinerary service in the Itinerary Designer:

image

In this scenario you need to deploy the ESB Toolkit BAM definitions that are located in the ESB Toolkit program files directory.

Our Cause

In our case we had implemented our own BAM Model and didn’t want to use the ESB Toolkit BAM model. So we had carefully disabled tracking everywhere….

After some pain we found at that by default the ESB Send All Exceptions ports REQUIRES that the BAM model is deployed.

Solution

Once you know the issue, its easy to solve..disable the Tracker!

Go to the SendAllException port

image

Disable the Tracker

image

 

And the errors are…..not there anymore.

 

Cheers,

Sander

Tuesday, May 01, 2012

BizTalk mapper 2010 – determine issues with custom functoids

 

In case the mapper fails (and only then, these steps will help you out a bit!) when you do Test map, and it seems to be caused by a Custom Functoid that can not be loaded, perform the following steps;

image

You have to call the ‘Debug’ map, this will generate the XSLT and will start the debugging

image

This will give you an error in case there are errors

image

Look in the output window, for the clear and distinct hint Bedroefde emoticon (e.g. : NS0 is the namespace causing the problem);

image

Now perform a ‘Validate’ map to get the Extension XSLT;

image

Open the .extxml.xml

image

Look for the specific namespace (NS0):

image

Open the custom functoid and make sure that the classname / SetExternalFunctoin are EXACTLY identical.

image

image

If this is the case, you can do the following (but you’re problably in the zone….the problem zone)

1) Perform a build on the Functoid library

2) Redeploy the Functoid library

3) Restart visual studio

4) Open the map, Reset the toolbox

5) Verify that the map works

LAST RESORT!!

6) Remove the Custom functoid, and add the functoid

 

HTH,

 

Sander

Friday, April 20, 2012

BizTalk mapper 2010–debugging with VS.Net

 

I had the weirdest issue, a helperclass that was called by a functoid did not returned to correct result in the debugger (And in the mapping result). After a redeploy, rebuild, clean solution, removing and adding the dlls in the GAC I couldn’t figure out what the issue was..

Somehow variables were shuffled, an Integer became a string and viceversa….

weird

After finding out that the Incense warehouse was closed, I knew I had to do something unexpected…..I renamed the variables…magically it worked??

Well, another couple of hours of my life spent on utter ridiculous weirdness….so if you have this problem….do what you think shouldn’t be required, thinking different might do the trick.

Kind regards,

Sander

Wednesday, April 18, 2012

Oracle installer–do you know it’s 2012 already?!

 

The installer starts with the most ‘obvious’ check ever, we need at least 256 colors…can’t even remember a videogame in the Dos Era that did that….

Colors

Then the PATH variable is too long…

Path

I guess there is some room for minor improvements…

 

Please consider that I’m just posting this to free my mind and allowing it to relax.

Cheers….now it’s time to use the time machine to go back in time and finish the installation….with great joy.

Sander

Monday, April 09, 2012

BizTalk Quirks–Message Context Properties vs Scope

 

Inside orchestations it’s fairly easy to read ContextProperties (albeit Promoted/Distinguished). I had a strange issue where a was reading out a property multiple times in different scopes (in the main branch as well as the error handling to determine a value inside our msg):

Start of the orchestration

LOG(requestMessage

            (Customer.Domain.Common.Schemas.AdminID,

…..,

…..

);

When I did the exact same thing inside the orchestration in another section… I got a exception about a missing property. So unexpected and not helpful….the incoming message was not altered inside a rule, the properties were of the MessageContextBase (so not bound to the messageType) and I used the same code.

In the end I switched to a variable assignment;

variable asssignment = msg(Property);

 

So my new rule is, assign context properties as soon as possible to variables, scoping and context properties seem to conflict sometimes.

 

Captain Quirk.

Friday, April 06, 2012

BizTalk Quirks –BizTalk mapper

 

Several weird issues I’ve encountered have made my think about a special blog theme ‘BizTalk Quircks’. The first one is the BizTalk mapper in 2010. As blogged earlier, there are some behavior differences, but to my opinion as well a few bugs. As I’ve not spent a lot of time reproducing the issues but have met colleagues with the same issues, here some issues you might encounter;

A link to a functoid that is removed remains active in the functoid parameters

This means that it isn't possible to create a new link, the parameter has to be manually removed in the mapper.

Creating several links to a functoid (with e.g. 6 params) lets the mapper loose count

I had a functoid with 6 parameters, filled them all, but somehow the link of parameter 6 created a void parameter 7, this meant i got a validation. When i removed the parameter in the functoid it was all fine and dandy.

Creating a 'new' message (SalesOrder = SalesOrder) using a map doesn't filll all the values

I sometimes created new messages (when i had no input) by creating a map that mapped the same schema Input=Output, just to fill in the values. This doesn't work in 2010 anymore, i now always have to resort to creating a msg from scratch (Xml assignment).

Please add info, tips, steps etc!! Hopefully enough to post bugs, otherwise precautionary steps for other colleagues.

 

Signed,

Captain Quirk Bedroefde emoticon