Install stuff in BizTalk Install Folder in custom MSI (Reminder to self)

March 22, 2010 / Comments Off on Install stuff in BizTalk Install Folder in custom MSI (Reminder to self)

I once found this document via google. It covers how to create a custom installer that will install stuff in the BizTalk Installation Folder.
it explains how to read some registry setting (the installation folder of BizTalk) and how to incoperate that into the installer.

Today I needed it again, and it took me some time to find it. So as a reminder to myself I blog about it.

The title is : Creating MSIs to install into the BizTalk directory
Read more: http://blog.biztalk-info.com/archive/2008/02/01/Creating_MSIs_to_install_into_the_BizTalk_directory.aspx#ixzz0ivXODEsW

All credits go to Eric (don’t know his last name).

 

BizTalk 2006 R2 SP1 alters the disassembling behaviour of a Receive pipeline !

March 19, 2010 / Comments Off on BizTalk 2006 R2 SP1 alters the disassembling behaviour of a Receive pipeline !

In my previous post I mentioned i noticed a change in the disassembling behaviour of BizTalk Server 2006 R2 after installing SP 1.

After I got home after work I sat down and looked somewhere on my harddisk for an old version of  a BizTalk 2006 Virtual PC. After a while I found one that was approximately  one and a half year untouched. So I sat down and Fired it up…

First get all the updates that have been since then, geeeeeez there have been many, I had about 80 of them and i completely forgot that some of them took ages to install (Visual Studio SP / Several Dotnet’s etc). Whel about two hours later i could test my scenario.

I created a solution and I copied (used cut & paste) the envelope and body from the previous post to this solution. Add a strong key, deploy and I was off to test.

With the pre SP1 BizTalk 2006 R2 (On Windows Server 2003 R2) I got the results I expected.

So i copied the entire VPC to a new location and added the extension SP1 to the machine name to distinguish it from the other. Then i downloaded and installed Service pack 1 for BizTalk 2006 R2.

After a reboot I was good to go….

To my dissapointment i got the same result as on work. Below is a

Event Type: Error
Event Source: BizTalk Server 2006
Event Category: BizTalk Server 2006
Event ID: 5719
Date:  3/19/2010
Time:  10:42:38 PM
User:  N/A
Computer: TITANNIC
Description:
There was a failure executing the receive pipeline: “Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35” Source: “Pipeline ” Receive Port: “Batched Receive” URI: “C:ProjectsService Pack TestService Pack TestTestInput*.xml” Reason: The disassembler found an envelope that does not have the body element.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

So i can definitelye say : SP1 for BizTalk 2006 R2 alters the default disassembling behaviour ! ( And in my case broke my solution)

For everybody who wants to test, I have added a very small solution to demonstrate what goes wrong…..

BizTalk 2006 R2 SP1 -> Something changed in disassembling pipelines !

March 19, 2010 / Comments Off on BizTalk 2006 R2 SP1 -> Something changed in disassembling pipelines !

Although I am still investigating this item i thought it would be nice to share it as soon as i find out something went wrong.

I have a very simple schema that returns data from the SQL adapter. I deployed an envelope schema and a schema that resembles the payload. Everything was working fine until I deployed SP1 to my developement server. Now all of a sudden I see stuff like this in the eventlog :

Event Type: Error
Event Source: BizTalk Server 2006
Event Category: BizTalk Server 2006
Event ID: 5753
Date:  3/19/2010
Time:  4:10:49 PM
User:  N/A
Computer: XXXXXX
Description:
A message received by adapter “FILE” on receive location “Receive Location2” with URI “D:TempTestEnvelope*.xml” is suspended.
 Error details: There was a failure executing the receive pipeline: “FH.CE.ESB.Core_v0100.Pipelines.FH_XML_ReceivePipeline, FH.CE.ESB.Core_v0100, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4f703287a4fe098c” Source: “Pipeline ” Receive Port: “FH.CCE.FFS.RIS.SQL_FFS_DB_v0103” URI: “D:TempTestEnvelope*.xml” Reason: The disassembler found an envelope that does not have the body element.  
 MessageId:  {150B4635-125B-41B1-A622-9A989B055CD4}
 InstanceID: {E85DEE3D-F714-419D-B8AD-4E23E6530EAB}

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

I have replaced the SQL receive with a file drop to reproduce the issue easier…. 

The message that I drop in looks like this :

 <utg_die_tra_v0103 xmlns=”http://FH.CCE.FFS.RIS.SQL_FFS_DB_v0103.Schemas.utg_die_tra_v0103“>
  <utg_die_tra inf_soo_kde=”1″ inf_soo_typ_kde=”BT” inf_soo_vbg_kde=”351″ inf_soo_opd_kde=”2″ inf_soo_ogr_kde=”BBO” inf_soo_znd_kde=”FFS” inf_soo_vrz_dtm_tyd=”2010-03-10T11:51:42.173″ die_tra_tch_idf=”2061″ die_tra_amk_dtm_tyd=”2010-03-10T11:51:42.173″ die_tra_amk_mdm=”BBOBSK” klt_rol_kde=”K” klt_num=”167″ die_kde=”5702″ kor_tsg_ind=”C” inh_utb_ind=”I” val_kde=”EUR” die_tra_atl_ehd=”1″ die_tra_bdg=”.400″ die_tra_dtm=”2006-12-20T00:00:00″ kor_tsl_prc=”1.500″ gsg_bdg=”26.730″ cor_ind=”N” vel_kde=”1″ vel_vst_kde=”1″ dtm_gew_fac=”2010-02-27T00:00:00″ onz_ref_ord_num=”0″ uw_ref_ord_num=”068835032918a” uw_ref_lev_pty_idf=”6883532918a”/>
 </utg_die_tra_v0103>

and the schema’s look like this :

Notice I have set the body xpath to the rootnode….
<b:recordInfo body_xpath=”/*[local-name()=’utg_die_tra_v0103′ and namespace-uri()=’http://FH.CCE.FFS.RIS.SQL_FFS_DB_v0103.Schemas.utg_die_tra_v0103′]” />

Envelope Schema :

<?xml version=”1.0″ encoding=”utf-16″?>
<xs:schema xmlns:b=”
http://schemas.microsoft.com/BizTalk/2003” xmlns=”http://FH.CCE.FFS.RIS.SQL_FFS_DB_v0103.Schemas.utg_die_tra_v0103” attributeFormDefault=”unqualified” elementFormDefault=”qualified” targetNamespace=”http://FH.CCE.FFS.RIS.SQL_FFS_DB_v0103.Schemas.utg_die_tra_v0103” version=”1.0″ xmlns:xs=”http://www.w3.org/2001/XMLSchema“>
  <xs:annotation>
    <xs:appinfo>
      <msbtssql:sqlScript value=”exec [ffs_dbs_get_rpt_utg_die_tra_esb_p] @max_atl_rec_pr=&quot;1&quot;, @vst_kde_pr=&quot;AMR&quot;” xmlns:msbtssql=”
http://schemas.microsoft.com/BizTalk/2003” />
      <b:schemaInfo is_envelope=”yes” />
    </xs:appinfo>
  </xs:annotation>
  <xs:element name=”utg_die_tra_v0103″>
    <xs:annotation>
      <xs:appinfo>
        <b:recordInfo body_xpath=”/*[local-name()=’utg_die_tra_v0103′ and namespace-uri()=’http://FH.CCE.FFS.RIS.SQL_FFS_DB_v0103.Schemas.utg_die_tra_v0103′]” />
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1=”
http://FH.CCE.FFS.RIS.SQL_FFS_DB_v0100.Schemas.utg_die_tra_v0100” minOccurs=”0″ maxOccurs=”1″ name=”utg_die_tra” type=”utg_die_traType” />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name=”utg_die_traType”>
    <xs:attribute name=”inf_soo_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_typ_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_vbg_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_opd_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_ogr_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_znd_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_vrz_dtm_tyd” type=”xs:string” />
    <xs:attribute name=”die_tra_tch_idf” type=”xs:decimal” />
    <xs:attribute name=”die_tra_amk_dtm_tyd” type=”xs:string” />
    <xs:attribute name=”die_tra_amk_mdm” type=”xs:string” />
    <xs:attribute name=”klt_rol_kde” type=”xs:string” />
    <xs:attribute name=”klt_num” type=”xs:int” />
    <xs:attribute name=”die_kde” type=”xs:int” />
    <xs:attribute name=”kor_tsg_ind” type=”xs:string” />
    <xs:attribute name=”inh_utb_ind” type=”xs:string” />
    <xs:attribute name=”die_oms” type=”xs:string” />
    <xs:attribute name=”die_oms_avu_een” type=”xs:string” />
    <xs:attribute name=”die_oms_avu_twe” type=”xs:string” />
    <xs:attribute name=”die_tra_prs” type=”xs:decimal” />
    <xs:attribute name=”val_kde” type=”xs:string” />
    <xs:attribute name=”die_tra_atl_ehd” type=”xs:int” />
    <xs:attribute name=”die_tra_bdg” type=”xs:decimal” />
    <xs:attribute name=”frq_tyd_vak_kde” type=”xs:unsignedByte” />
    <xs:attribute name=”frq_tyd_vak_wrd” type=”xs:int” />
    <xs:attribute name=”die_tra_dtm” type=”xs:string” />
    <xs:attribute name=”kor_tsl_prc” type=”xs:decimal” />
    <xs:attribute name=”ehd_kde” type=”xs:int” />
    <xs:attribute name=”gsg_bdg” type=”xs:decimal” />
    <xs:attribute name=”gsg_atl” type=”xs:decimal” />
    <xs:attribute name=”gsg_tli” type=”xs:string” />
    <xs:attribute name=”cor_ind” type=”xs:string” />
    <xs:attribute name=”vel_kde” type=”xs:unsignedByte” />
    <xs:attribute name=”vel_vst_kde” type=”xs:unsignedByte” />
    <xs:attribute name=”die_niv_een_kde” type=”xs:unsignedByte” />
    <xs:attribute name=”die_niv_twe_kde” type=”xs:unsignedByte” />
    <xs:attribute name=”dtm_gew_fac” type=”xs:string” />
    <xs:attribute name=”dtm_gre_fac” type=”xs:string” />
    <xs:attribute name=”onz_ref_doc_typ_kde” type=”xs:string” />
    <xs:attribute name=”onz_ref_doc_idf” type=”xs:string” />
    <xs:attribute name=”uw_ref_doc_typ_kde” type=”xs:string” />
    <xs:attribute name=”uw_ref_doc_idf” type=”xs:string” />
    <xs:attribute name=”onz_ref_ord_num” type=”xs:string” />
    <xs:attribute name=”uw_ref_ord_num” type=”xs:string” />
    <xs:attribute name=”onz_ref_lev_pty_idf” type=”xs:string” />
    <xs:attribute name=”uw_ref_lev_pty_idf” type=”xs:string” />
    <xs:attribute name=”tyd_dvr_tra_typ_kde” type=”xs:int” />
    <xs:attribute name=”btw_kde” type=”xs:string” />
    <xs:attribute name=”onz_ref_ord_pty_tch_idf” type=”xs:string” />
    <xs:attribute name=”onz_ref_lev_pty_tch_idf” type=”xs:string” />
  </xs:complexType>
</xs:schema>

Body Schema

<?xml version=”1.0″ encoding=”utf-16″?>
<xs:schema xmlns:b=”
http://schemas.microsoft.com/BizTalk/2003” xmlns=”http://FH.CCE.FFS.RIS.SQL_FFS_DB_v0103.Schemas.utg_die_tra_v0103” attributeFormDefault=”unqualified” elementFormDefault=”qualified” targetNamespace=”http://FH.CCE.FFS.RIS.SQL_FFS_DB_v0103.Schemas.utg_die_tra_v0103” version=”1.0″ xmlns:xs=”http://www.w3.org/2001/XMLSchema“>
  <xs:annotation>
    <xs:appinfo>
      <msbtssql:sqlScript value=”exec [ffs_dbs_get_rpt_utg_die_tra_esb_p] @max_atl_rec_pr=&quot;1&quot;, @vst_kde_pr=&quot;AMR&quot;” xmlns:msbtssql=”
http://schemas.microsoft.com/BizTalk/2003” />
      <b:schemaInfo root_reference=”utg_die_tra” xmlns:b=”
http://schemas.microsoft.com/BizTalk/2003” />
    </xs:appinfo>
  </xs:annotation>
  <xs:element name=”utg_die_tra” type=”utg_die_traType”>
    <xs:annotation>
      <xs:appinfo>
        <b:properties>
          <b:property distinguished=”true” xpath=”/*[local-name()=’utg_die_tra’ and namespace-uri()=’http://FH.CCE.FFS.RIS.SQL_FFS_DB_v0103.Schemas.utg_die_tra_v0103′]/@*[local-name()=’inf_soo_opd_kde’ and namespace-uri()=”]” />
        </b:properties>
      </xs:appinfo>
    </xs:annotation>
  </xs:element>
  <xs:complexType name=”utg_die_traType”>
    <xs:attribute name=”inf_soo_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_typ_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_vbg_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_opd_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_ogr_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_znd_kde” type=”xs:string” />
    <xs:attribute name=”inf_soo_vrz_dtm_tyd” type=”xs:string” />
    <xs:attribute name=”die_tra_tch_idf” type=”xs:decimal” />
    <xs:attribute name=”die_tra_amk_dtm_tyd” type=”xs:string” />
    <xs:attribute name=”die_tra_amk_mdm” type=”xs:string” />
    <xs:attribute name=”klt_rol_kde” type=”xs:string” />
    <xs:attribute name=”klt_num” type=”xs:int” />
    <xs:attribute name=”die_kde” type=”xs:int” />
    <xs:attribute name=”kor_tsg_ind” type=”xs:string” />
    <xs:attribute name=”inh_utb_ind” type=”xs:string” />
    <xs:attribute name=”die_oms” type=”xs:string” />
    <xs:attribute name=”die_oms_avu_een” type=”xs:string” />
    <xs:attribute name=”die_oms_avu_twe” type=”xs:string” />
    <xs:attribute name=”die_tra_prs” type=”xs:decimal” />
    <xs:attribute name=”val_kde” type=”xs:string” />
    <xs:attribute name=”die_tra_atl_ehd” type=”xs:int” />
    <xs:attribute name=”die_tra_bdg” type=”xs:decimal” />
    <xs:attribute name=”frq_tyd_vak_kde” type=”xs:unsignedByte” />
    <xs:attribute name=”frq_tyd_vak_wrd” type=”xs:int” />
    <xs:attribute name=”die_tra_dtm” type=”xs:string” />
    <xs:attribute name=”kor_tsl_prc” type=”xs:decimal” />
    <xs:attribute name=”ehd_kde” type=”xs:int” />
    <xs:attribute name=”gsg_bdg” type=”xs:decimal” />
    <xs:attribute name=”gsg_atl” type=”xs:decimal” />
    <xs:attribute name=”gsg_tli” type=”xs:string” />
    <xs:attribute name=”cor_ind” type=”xs:string” />
    <xs:attribute name=”vel_kde” type=”xs:unsignedByte” />
    <xs:attribute name=”vel_vst_kde” type=”xs:unsignedByte” />
    <xs:attribute name=”die_niv_een_kde” type=”xs:unsignedByte” />
    <xs:attribute name=”die_niv_twe_kde” type=”xs:unsignedByte” />
    <xs:attribute name=”dtm_gew_fac” type=”xs:string” />
    <xs:attribute name=”dtm_gre_fac” type=”xs:string” />
    <xs:attribute name=”onz_ref_doc_typ_kde” type=”xs:string” />
    <xs:attribute name=”onz_ref_doc_idf” type=”xs:string” />
    <xs:attribute name=”uw_ref_doc_typ_kde” type=”xs:string” />
    <xs:attribute name=”uw_ref_doc_idf” type=”xs:string” />
    <xs:attribute name=”onz_ref_ord_num” type=”xs:string” />
    <xs:attribute name=”uw_ref_ord_num” type=”xs:string” />
    <xs:attribute name=”onz_ref_lev_pty_idf” type=”xs:string” />
    <xs:attribute name=”uw_ref_lev_pty_idf” type=”xs:string” />
    <xs:attribute name=”tyd_dvr_tra_typ_kde” type=”xs:int” />
    <xs:attribute name=”btw_kde” type=”xs:string” />
    <xs:attribute name=”onz_ref_ord_pty_tch_idf” type=”xs:string” />
    <xs:attribute name=”onz_ref_lev_pty_tch_idf” type=”xs:string” />
  </xs:complexType>
</xs:schema>

The solution is set up analog to the solution decribed by Richard Seroter here : http://seroter.wordpress.com/2007/01/03/debatching-inbound-messages-from-biztalk-sql-adapter/

This item is still under  investigation, expect a follow up…..

 

  • Recent Posts
  • Recent Comments
  • Archives
  • Categories
  • Meta