Als ich eine BizTalk Pipelinekomponente erweiterte, erlebte ich ein seltsames Problem. In meinem Fall ging es um eine erweiterte TokenManagerkomponente in der Stage Decode und Encode, welche folgende Eigenschaften hat: “Enable”, “TokenToFind”, “TokenToReplace”. Diese habe ich mit einer boolsche Eigenschaft erweitert. Diese trägt den Namen “SearchnamespaceOnly”, welche standardmäßig auf True gesetzt ist. Alles sah gut aus, auch in dem Pipeline Designer wurde alles korrekt angezeigt. Als es dann zum Deployment kam, wurde die Komponente auch korrekt deployt. Wenn man nun in die Pipelineoptionen ging um die Komponente konfigurieren zu können, wurde die Option partout nicht angezeigt.
Das war komisch, da die Eigenschaft in dem dem Pipeline-Designer unter Properties angezeigt wird. Ich überprüfte alles doppelt und dreifach; ob die DLL-Biblitheken aktuell sind, ob die Solution gebuildet wurde, ich de- und installierte die DLL im GAC. Alles sah gut aus. Schlussendlich öffnete ich die Pipeline-Komponentendatei (*. BTP) mit Notepad++ und blickte auf den Inhalt.
Die Property-Elemente zeigten nur die vorherigen Optionen an. Die neue Eigenschaft “SearchNamespaceOnly” wird hier nicht angezeigt. Scheinbar denkt BizTalk das die Eigenschaft ein Defaultwert ist und sagt sich das er diese nicht benötigt?! Also zurück zum Pipeline-Designer und die Eigenschaft von True auf False setzen.
Ich speicherte die Pipeline und rebuild die Solution. Bevor ich nun nochmal deployed habe, öffnete ich die Pipeline-Datei ein weiteres Mal mit dem Notepad++ Editor. Nun wurde die Eigenschaft korrekt unter Propertys gesetzt:
Nun sieht alles korrekt aus, alle Eigenschaften wurden richtig eingestellt. Somit konnte die Anwendung wieder auf BizTalk deployed werden.
Ein Blick in die Pipelinekomponente in BizTalk zeigte das die Eigenschaft nun korrekt angezeigt wird und auf True oder False gesetzt werden kann.
Ich hoffe ich konnte einigen BizTalk Entwicklern mit diesem Bericht helfen 😀