XREF a BizTalk BTS.Operation back to the Orchestration Operation Name

Today, I saw a send port that had a filter such as BTS.Operation == Send204External. I looked at the orchestrations that I thought were involved in this application/project, but couldn’t find that operation name in any of the orchestration send ports.

There are two approaches to doing the xref:
1) Scanning all the code. I use Total Commander which has a great built-in utility to scan files with a mask (such as *.odx) for a given term (Send204External). But this assumes I have all the code on my disk (from our source code repository), and it doesn’t always run quickly.
2) Run a SQL query against the BizTalk SQL database.

In BizTalk, each orchestration logical (internal) SendPort can have one or more operations.

using BizTalkMgmtDB 
       app.nvcName as 'Application', 
       pto.nvcName as 'Operation', 
       pt.nvcName as 'PortType',
       op.nvcName as 'Orch-PortName',
       ass.nvcName as 'Assembly_Name'
         from bts_porttype_operation pto 
   inner join bts_porttype pt on pto.nPortTypeID = pt.nID 
   inner join bts_orchestration_port op on op.nPortTypeID = pt.nID 
   inner join bts_assembly ass on pt.nAssemblyID = ass.nID 
   inner join bts_application app on ass.nApplicationID = app.nID 
where pto.nvcName = 'Send204External' 



Leave a Reply