Umar Shareef

Hello


IĦŻm currently testing BAM Interceptor for Workflow with simple solution. IĦŻve 2 Workflow, first one is POApproval WF, second one is POShipment WF. First one calls the second one. IĦŻve created BAM Interceptor for the first WF (POApproval), deployed it, works fine, IĦŻm able to track the data in BAM.

But when I call the POShipment WF from POApproval WF, IĦŻm not seeing any data in BAM, even for the first orchestration, after I deployed my Updated Interceptor. I updated my BAM Activity for new fields and deployed it, modified BAM Interceptor to track POShipment WF fields & deployed it. In the Interceptor file I specified CorrelationID as WF InstanceId, also specified ContinuationToken as WF InstanceId.

Herewith IĦŻm attaching my InterceptorConfig. Could any of you please take a look or if you have any other sample WF interceptor which uses correlation between 2 WF please send it to me.

Also any pointers or samples/documentation for creating WF interceptor which involves all 3 technologies Orchestration, WF and WCF (mainly correlating them in one record) would be really helpful.

Code Snippet

< xml version="1.0" encoding="utf-8" >
<bam:InterceptorConfiguration
xmlns:bam="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"
xmlns:bamwf="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">

<!-- create an event source for the WF Workflow -->
<bam:EventSource Name="SCMPOWF" Technology="WF" Manifest="SCMWorkflow.POApprovalWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
<bam:EventSource Name="SCMShipmentWF" Technology="WF" Manifest="SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>

<bam:BamActivity Name ="SCMTracking">
<bam:OnEvent Name="MyWorkflowEvent" IsBegin="true" Source="SCMPOWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetWorkflowEvent" />
<bam:Operation Name="Constant">
<bam:Argument>Created</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="POReceivedDate" Type="DATETIME">
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>EventTime</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>

<bam:ContinuationToken>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:ContinuationToken>
</bam:OnEvent>


<!--PO Received... FirstWF-->
<bam:OnEvent Name="POReceived" Source="SCMPOWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>POReceive</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="Quantity" Type="INT">
<bam:Expression>
<bamwf:Operation Name="GetWorkflowProperty">
<bamwf:Argument>Qty</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>

<bam:Update DataItemName="PONumber" Type="NVARCHAR">
<bam:Expression>
<bamwf:Operation Name="GetWorkflowProperty">
<bamwf:Argument>PONumber</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>

<!--PO Approved...FirstWF-->
<bam:OnEvent Name="POApproved" Source="SCMPOWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>POApprove</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<!--<bam:CorrelationID>
<bam:Expression>
<bamwf:Operation Name="GetWorkflowProperty">
<bamwf:Argument>PONumber</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:CorrelationID> -->
<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>


<bam:Update DataItemName="POApprovedDate" Type="DATETIME">
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>EventTime</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>

<!--PO Rejected...FirstWF-->
<bam:OnEvent Name="PORejected" Source="SCMPOWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>POReject</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="PORejectedDate" Type="DATETIME">
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>EventTime</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>

<!--PO Completed...FirstWF-->
<bam:OnEvent Name="POCompleted" Source="SCMPOWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>CompleteApproval</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="POCompleted" Type="DATETIME">
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>EventTime</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>

<!--GenerateASNNumber... SecondWF-->
<bam:OnEvent Name="GenerateASNNumber" Source="SCMShipmentWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>GenerateASNNumber</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="ASNNumber" Type="NVARCHAR">
<bam:Expression>
<bamwf:Operation Name="GetWorkflowProperty">
<bamwf:Argument>ASNNumber</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>

<!--ShipPO...SecondWF-->
<bam:OnEvent Name="ShipPO" Source="SCMShipmentWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>ShipPO</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="POShippedDate" Type="DATETIME">
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>EventTime</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>

</bam:BamActivity>
</bam:InterceptorConfiguration>

Thanks

Umar Shareef




Re: BizTalk Interceptors WF BAM Interceptor

Dwight Goins

I did something similar with WCF Services, An Orchestration started a correlation using the TPE which called one WCF Service, the WCF Service responded back into the Orch, which then later called another WCF Service. I used the AutoGeneratedToken to track receiving side of the Service to the Responding Event of the Service to the Orch It worked fine for me.

The Complete sample uses an Orchestration Correlation token defined inside the TPE, such as this:

Code Snippet
OrderNumberContinuation{OrderNumber}

That value is passed to the Service from an Orchestration using one of the WCF Adapters, the Service IC uses the CorrelationID set to the values passed in from the message like this:

Code Snippet
<bam:CorrelationID>
<bam:Expression >
<bam:Operation Name="Constant">
<bam:Argument>OrderNumberContinuation</bam:Argument>
</bam:Operation>
<wcf:Operation Name ="XPath" >
<wcf:Argument >//s:Body/*[local-name()='SalesOrder' and namespace-uri()='http://AdvWorks.Messaging.SalesOrderv1.0']/*[local-name()='Detail' and namespace-uri()='']/@*[local-name()='OrderNumber' and namespace-uri()='']</wcf:Argument>
</wcf:Operation>
<bam:Operation Name="Concatenate" />
</bam:Expression>
</bam:CorrelationID>

Next the Service updates the BAM records and then creates a correlating continuation token like this:

<bam:ContinuationToken >
<bam:Expression >
<wcfSurpriseperation Name="AutoGenerateCorrelationToken"/>
</bam:Expression>
</bam:ContinuationToken>

then the response correlates using this:

<bamSurprisenEvent IsEnd="true" Name="BizTalk_WCF_Adapter_OrderShipped" Source="WCF_Service_OrderShipmentInfo">
<bam:Filter>
<bam:Expression>
<wcfSurpriseperation Name="GetServiceContractCallPoint" />
<bamSurpriseperation Name="Constant">
<bam:Argument>ServiceReply</bam:Argument>
</bamSurpriseperation>
<bamSurpriseperation Name="Equals"/>
<wcfSurpriseperation Name="XPath" >
<wcf:Argument >//s:Body/*[local-name()='ShipServiceResponse' and namespace-uri()='http://ShippingService/Services']/*[local-name()='ServiceData' and namespace-uri()='']/*[local-name()='result' and namespace-uri()='']</wcf:Argument>
</wcfSurpriseperation>
<bamSurpriseperation Name="Constant">
<bam:Argument>true</bam:Argument>
</bamSurpriseperation>
<bamSurpriseperation Name="Equals"/>
<bamSurpriseperation Name="And" />
</bam:Expression>
</bam:Filter>
<bam:CorrelationID>
<bam:Expression >
<wcfSurpriseperation Name="AutoGenerateCorrelationToken"/>
</bam:Expression>
</bam:CorrelationID>

From the looks of your Interceptor file, it initally looks OK.

Try toTurn on Tracing for the BAM Interceptor by adding this to your WF config file:

<configuration>
<system.diagnostics>
<sources>
<source name="Microsoft BizTalk Bam Interceptors" switchName="sourceSwitch" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="console" type="System.Diagnostics.ConsoleTraceListener"/>
<add name="myListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="TextWriterOutput.log" />

</listeners>
</source>

</sources>

<trace autoflush="true" />
<switches>
<add name="sourceSwitch" value="Verbose"/>
</switches>
</system.diagnostics>

The Tracing will inform you of what exactly is the problem. Then post what the problem seems to be if you can't fix it from there.

HTH

Dwight@QuickLearn






Re: BizTalk Interceptors WF BAM Interceptor

Umar Shareef

Dwight,

Thank you very much for your response. As you suggested I added the Tracing for the BAM Interceptor. Here is the Tracing information from the log file. I dont see any errors in the log file.

Code Snippet

Microsoft BizTalk Bam Interceptors Verbose: 0 : Found parameter PollingIntervalSec = 5000
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found parameter ConnectionString = server=.;database=BAMPrimaryImport;trusted_connection=yes
Microsoft BizTalk Bam Interceptors Verbose: 0 : Initialized BAM Tracking Service with PIT connection string 'server=.;database=BAMPrimaryImport;trusted_connection=yes' and polling interval '5000'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Configuration timer started with time interval '5000'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Started configuration timer to poll every '5000' seconds
Microsoft BizTalk Bam Interceptors Verbose: 0 : Workflow runtime starting. Initialized interceptor configuration management.
Microsoft BizTalk Bam Interceptors Verbose: 0 : TryGetProfile() with workflow type 'SCMWorkflow.POApprovalWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Unable to find tracking profile locally to return
Microsoft BizTalk Bam Interceptors Verbose: 0 : Executing GetLatestConfiguration for technology 'WF' manifest 'SCMWorkflow.POApprovalWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Appended EventSource with name 'SCMPOWF' in interceptor configuration XML
Microsoft BizTalk Bam Interceptors Verbose: 0 : Current IC XML after updating EventSource XML for event source 'SCMPOWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bam:EventSource< A> Name="SCMPOWF" Technology="WF" Manifest="SCMWorkflow.POApprovalWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" xmlns:bam="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration" />
Microsoft BizTalk Bam Interceptors Verbose: 0 : Appended OnEvent with name 'MyWorkflowEvent' to BAM activity 'SCMCompleteTracking' in interceptor configuration XML
Microsoft BizTalk Bam Interceptors Verbose: 0 : Appended OnEvent with name 'POReceived' to BAM activity 'SCMCompleteTracking' in interceptor configuration XML
Microsoft BizTalk Bam Interceptors Verbose: 0 : Appended OnEvent with name 'POApproved' to BAM activity 'SCMCompleteTracking' in interceptor configuration XML
Microsoft BizTalk Bam Interceptors Verbose: 0 : Appended OnEvent with name 'PORejected' to BAM activity 'SCMCompleteTracking' in interceptor configuration XML
Microsoft BizTalk Bam Interceptors Verbose: 0 : Appended OnEvent with name 'POCompleted' to BAM activity 'SCMCompleteTracking' in interceptor configuration XML
Microsoft BizTalk Bam Interceptors Verbose: 0 : Current IC XML after updating OnEvent XML for event source 'SCMPOWF' activity 'SCMCompleteTracking'
Microsoft BizTalk Bam Interceptors Verbose: 0 : http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bam:EventSource< A> Name="SCMPOWF" Technology="WF" Manifest="SCMWorkflow.POApprovalWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" xmlns:bam="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration" />http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bamwf:Operation< A> Name="GetWorkflowEvent" xmlns:bamwf="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration" />CreatedInstanceIdhttp://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">InstanceId</bamwf:Operation<><bam:Update< A> DataItemName="POReceivedDate" Type="DATETIME">EventTime</bam:Update<>http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">EventTime<bam:Operation< A> Name="Constant">CorrelationId_</bam:Operation<>InstanceIdhttp://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">InstanceId<bam:Operation< A> Name="Concatenate" />http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bamwf:Operation< A> Name="GetActivityName" xmlns:bamwf="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration" />POReceiveCorrelationId_InstanceIdhttp://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">InstanceId</bamwf:Operation<><bam:Operation< A> Name="Concatenate" />Qtyhttp://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">Qty<bam:Update< A> DataItemName="PONumber" Type="NVARCHAR">PONumber</bam:Update<>http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">PONumber<bam:OnEvent< A> Name="POApproved" Source="SCMPOWF" xmlns:bam="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bamwf:Operation< A> Name="GetActivityName" xmlns:bamwf="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration" />POApproveCorrelationId_InstanceIdhttp://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">InstanceId</bamwf:Operation<><bam:Operation< A> Name="Concatenate" />EventTime</bam:OnEvent<>http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">EventTime<bam:OnEvent< A> Name="PORejected" Source="SCMPOWF" xmlns:bam="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bamwf:Operation< A> Name="GetActivityName" xmlns:bamwf="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration" />PORejectCorrelationId_InstanceIdhttp://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">InstanceId</bamwf:Operation<><bam:Operation< A> Name="Concatenate" />EventTime</bam:OnEvent<>http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">EventTime<bam:OnEvent< A> Name="POCompleted" Source="SCMPOWF" xmlns:bam="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bamwf:Operation< A> Name="GetActivityName" xmlns:bamwf="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration" />CompleteApprovalCorrelationId_InstanceIdhttp://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">InstanceId</bamwf:Operation<><bam:Operation< A> Name="Concatenate" />EventTime</bam:OnEvent<>http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">EventTime>
Microsoft BizTalk Bam Interceptors Verbose: 0 : Successfully retrieved IC from PIT for technology 'WF' manifest 'SCMWorkflow.POApprovalWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' version '26'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin reading interceptor configuration
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found event source with name 'SCMPOWF' manifest 'SCMWorkflow.POApprovalWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' technology 'WF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found BAM activity with name 'SCMCompleteTracking'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found OnEvent with name 'MyWorkflowEvent', source 'SCMPOWF', isBegin 'True', isEnd 'False'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found correlation ID
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'InstanceId'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found continuation
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'CorrelationId_'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'InstanceId'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found update with column 'POReceivedDate' and data type 'DATETIME'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'EventTime'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetWorkflowEvent'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetWorkflowEvent'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetWorkflowEvent'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'Created'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found OnEvent with name 'POReceived', source 'SCMPOWF', isBegin 'False', isEnd 'False'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found correlation ID
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'CorrelationId_'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'InstanceId'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found update with column 'Quantity' and data type 'INT'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetWorkflowProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetWorkflowProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'Qty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetWorkflowProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found update with column 'PONumber' and data type 'NVARCHAR'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetWorkflowProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetWorkflowProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'PONumber'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetWorkflowProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'POReceive'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found OnEvent with name 'POApproved', source 'SCMPOWF', isBegin 'False', isEnd 'False'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found correlation ID
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'CorrelationId_'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'InstanceId'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found update with column 'POApprovedDate' and data type 'DATETIME'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'EventTime'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'POApprove'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found OnEvent with name 'PORejected', source 'SCMPOWF', isBegin 'False', isEnd 'False'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found correlation ID
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'CorrelationId_'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'InstanceId'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found update with column 'PORejectedDate' and data type 'DATETIME'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'EventTime'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'POReject'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found OnEvent with name 'POCompleted', source 'SCMPOWF', isBegin 'False', isEnd 'False'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found correlation ID
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'CorrelationId_'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'InstanceId'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found update with column 'POCompleted' and data type 'DATETIME'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'EventTime'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'CompleteApproval'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Done reading interceptor configuration
Microsoft BizTalk Bam Interceptors Verbose: 0 : Invoking workflow interceptor custom validation handler
Microsoft BizTalk Bam Interceptors Verbose: 0 : Verified property name 'Qty' exists in object type 'SCMWorkflow.POApprovalWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Verified property name 'PONumber' exists in object type 'SCMWorkflow.POApprovalWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Done invoking workflow interceptor custom validation handler
Microsoft BizTalk Bam Interceptors Verbose: 0 : Saved interceptor configuration to store for manifest 'SCMWorkflow.POApprovalWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' version '26'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found matching interceptor configuration from BAM PIT for this event source
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created empty tracking profile for workflow type 'SCMWorkflow.POApprovalWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Name 'SCMPOWF' can be used to reference workflow type 'SCMWorkflow.POApprovalWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found BamActivity with name 'SCMCompleteTracking'
Microsoft BizTalk Bam Interceptors Verbose: 0 : ParseEventToProfile() with name='MyWorkflowEvent' and source='SCMPOWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Source 'SCMPOWF' maps to workflow type 'SCMWorkflow.POApprovalWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'GetWorkflowEvent' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Constant' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Equals' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found equals operation for 'Constant' and 'GetWorkflowEvent'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Workflow filter condition with operation 'GetWorkflowEvent' and value 'Created'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created WorkflowTrackPoint
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added workflow event 'Created'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Copied annotation '0'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added WorkflowTrackPoint to profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : End creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : ParseEventToProfile() with name='POReceived' and source='SCMPOWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Source 'SCMPOWF' maps to workflow type 'SCMWorkflow.POApprovalWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added workflow extract data member 'Qty' to event manager
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added workflow extract data member 'PONumber' to event manager
Microsoft BizTalk Bam Interceptors Verbose: 0 : Getting workflow data extract for data member='Qty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Getting workflow data extract for data member='PONumber'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'GetActivityName' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Constant' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Equals' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found equals operation for 'Constant' and 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Activity filter condition with operation 'GetActivityName' and value 'POReceive'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added activity event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created ActivityTrackPoint
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added condition with name 'Name', operator 'Equals', value 'POReceive'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Copied annotation '1'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Copied data extract for member 'Qty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Copied data extract for member 'PONumber'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added ActivityTrackPoint to profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : End creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : ParseEventToProfile() with name='POApproved' and source='SCMPOWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Source 'SCMPOWF' maps to workflow type 'SCMWorkflow.POApprovalWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'GetActivityName' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Constant' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Equals' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found equals operation for 'Constant' and 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Activity filter condition with operation 'GetActivityName' and value 'POApprove'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added activity event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created ActivityTrackPoint
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added condition with name 'Name', operator 'Equals', value 'POApprove'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Copied annotation '2'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added ActivityTrackPoint to profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : End creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : ParseEventToProfile() with name='PORejected' and source='SCMPOWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Source 'SCMPOWF' maps to workflow type 'SCMWorkflow.POApprovalWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'GetActivityName' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Constant' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Equals' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found equals operation for 'Constant' and 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Activity filter condition with operation 'GetActivityName' and value 'POReject'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added activity event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created ActivityTrackPoint
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added condition with name 'Name', operator 'Equals', value 'POReject'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Copied annotation '3'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added ActivityTrackPoint to profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : End creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : ParseEventToProfile() with name='POCompleted' and source='SCMPOWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Source 'SCMPOWF' maps to workflow type 'SCMWorkflow.POApprovalWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'GetActivityName' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Constant' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Equals' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found equals operation for 'Constant' and 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Activity filter condition with operation 'GetActivityName' and value 'CompleteApproval'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added activity event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created ActivityTrackPoint
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added condition with name 'Name', operator 'Equals', value 'CompleteApproval'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Copied annotation '4'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added ActivityTrackPoint to profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : End creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Validating tracking profile has at least a single track point
Microsoft BizTalk Bam Interceptors Verbose: 0 :





Created




0






System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
POReceive





1



Qty


PONumber







System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
POApprove





2






System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
POReject





3






System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
CompleteApproval





4




Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for workflow type 'SCMWorkflow.POApprovalWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '0'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '1'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '2'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '3'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '4'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Finished processing interceptor configuration into WF tracking profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found tracking profile locally to return
Microsoft BizTalk Bam Interceptors Verbose: 0 : TryGetProfile() with workflow type 'SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Unable to find tracking profile locally to return
Microsoft BizTalk Bam Interceptors Verbose: 0 : Executing GetLatestConfiguration for technology 'WF' manifest 'SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Appended EventSource with name 'SCMShipmentWF' in interceptor configuration XML
Microsoft BizTalk Bam Interceptors Verbose: 0 : Current IC XML after updating EventSource XML for event source 'SCMShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 :




Created




0






System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
POReceive





1



Qty


PONumber







System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
POApprove





2






System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
POReject





3






System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
CompleteApproval





4




Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for workflow type 'SCMWorkflow.POApprovalWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '0'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '1'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '2'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '3'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '4'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Finished processing interceptor configuration into WF tracking profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found tracking profile locally to return
Microsoft BizTalk Bam Interceptors Verbose: 0 : TryGetProfile() with workflow type 'SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Unable to find tracking profile locally to return
Microsoft BizTalk Bam Interceptors Verbose: 0 : Executing GetLatestConfiguration for technology 'WF' manifest 'SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Appended EventSource with name 'SCMShipmentWF' in interceptor configuration XML
Microsoft BizTalk Bam Interceptors Verbose: 0 : Current IC XML after updating EventSource XML for event source 'SCMShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bam:EventSource< A> Name="SCMShipmentWF" Technology="WF" Manifest="SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" xmlns:bam="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration" />
Microsoft BizTalk Bam Interceptors Verbose: 0 : Appended OnEvent with name 'MyWorkflowShipmentEvent' to BAM activity 'SCMCompleteTracking' in interceptor configuration XML
Microsoft BizTalk Bam Interceptors Verbose: 0 : Appended OnEvent with name 'GenerateASNNumber' to BAM activity 'SCMCompleteTracking' in interceptor configuration XML
Microsoft BizTalk Bam Interceptors Verbose: 0 : Appended OnEvent with name 'ShipPO' to BAM activity 'SCMCompleteTracking' in interceptor configuration XML
Microsoft BizTalk Bam Interceptors Verbose: 0 : Current IC XML after updating OnEvent XML for event source 'SCMShipmentWF' activity 'SCMCompleteTracking'
Microsoft BizTalk Bam Interceptors Verbose: 0 : http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bam:EventSource< A> Name="SCMShipmentWF" Technology="WF" Manifest="SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" xmlns:bam="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration" />http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bamwf:Operation< A> Name="GetWorkflowEvent" xmlns:bamwf="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration" />CreatedCorrelationId_InstanceIdhttp://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">InstanceId</bamwf:Operation<><bam:Operation< A> Name="Concatenate" />http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bamwf:Operation< A> Name="GetActivityName" xmlns:bamwf="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration" />GenerateASNNumberCorrelationId_InstanceIdhttp://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">InstanceId</bamwf:Operation<><bam:Operation< A> Name="Concatenate" />ASNNumberhttp://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">ASNNumber<bam:OnEvent< A> Name="ShipPO" Source="SCMShipmentWF" xmlns:bam="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"><bamwf:Operation< A> Name="GetActivityName" xmlns:bamwf="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration" />ShipPOCorrelationId_InstanceIdhttp://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">InstanceId</bamwf:Operation<><bam:Operation< A> Name="Concatenate" />EventTime</bam:OnEvent<>http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">EventTime>
Microsoft BizTalk Bam Interceptors Verbose: 0 : Successfully retrieved IC from PIT for technology 'WF' manifest 'SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' version '18'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin reading interceptor configuration
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found event source with name 'SCMShipmentWF' manifest 'SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' technology 'WF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found BAM activity with name 'SCMCompleteTracking'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found OnEvent with name 'MyWorkflowShipmentEvent', source 'SCMShipmentWF', isBegin 'False', isEnd 'True'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found correlation ID
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'CorrelationId_'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'InstanceId'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetWorkflowEvent'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetWorkflowEvent'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetWorkflowEvent'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'Created'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found OnEvent with name 'GenerateASNNumber', source 'SCMShipmentWF', isBegin 'False', isEnd 'False'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found correlation ID
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'CorrelationId_'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'InstanceId'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found update with column 'ASNNumber' and data type 'NVARCHAR'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetWorkflowProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetWorkflowProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'ASNNumber'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetWorkflowProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'GenerateASNNumber'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found OnEvent with name 'ShipPO', source 'SCMShipmentWF', isBegin 'False', isEnd 'False'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found correlation ID
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'CorrelationId_'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'InstanceId'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Concatenate'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found update with column 'POShippedDate' and data type 'DATETIME'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'EventTime'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetContextProperty'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Being processing workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created workflow operation 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found argument 'ShipPO'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Constant'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin processing common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created common operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created data expression
Microsoft BizTalk Bam Interceptors Verbose: 0 : Done reading interceptor configuration
Microsoft BizTalk Bam Interceptors Verbose: 0 : Invoking workflow interceptor custom validation handler
Microsoft BizTalk Bam Interceptors Verbose: 0 : Verified property name 'ASNNumber' exists in object type 'SCMWorkflow.POShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Done invoking workflow interceptor custom validation handler
Microsoft BizTalk Bam Interceptors Verbose: 0 : Saved interceptor configuration to store for manifest 'SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' version '18'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found matching interceptor configuration from BAM PIT for this event source
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created empty tracking profile for workflow type 'SCMWorkflow.POShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Name 'SCMShipmentWF' can be used to reference workflow type 'SCMWorkflow.POShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found BamActivity with name 'SCMCompleteTracking'
Microsoft BizTalk Bam Interceptors Verbose: 0 : ParseEventToProfile() with name='MyWorkflowShipmentEvent' and source='SCMShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Source 'SCMShipmentWF' maps to workflow type 'SCMWorkflow.POShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'GetWorkflowEvent' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Constant' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Equals' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found equals operation for 'Constant' and 'GetWorkflowEvent'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Workflow filter condition with operation 'GetWorkflowEvent' and value 'Created'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created WorkflowTrackPoint
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added workflow event 'Created'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Copied annotation '5'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added WorkflowTrackPoint to profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : End creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : ParseEventToProfile() with name='GenerateASNNumber' and source='SCMShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Source 'SCMShipmentWF' maps to workflow type 'SCMWorkflow.POShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added workflow extract data member 'ASNNumber' to event manager
Microsoft BizTalk Bam Interceptors Verbose: 0 : Getting workflow data extract for data member='ASNNumber'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'GetActivityName' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Constant' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Equals' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found equals operation for 'Constant' and 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Activity filter condition with operation 'GetActivityName' and value 'GenerateASNNumber'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added activity event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created ActivityTrackPoint
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added condition with name 'Name', operator 'Equals', value 'GenerateASNNumber'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Copied annotation '6'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Copied data extract for member 'ASNNumber'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added ActivityTrackPoint to profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : End creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : ParseEventToProfile() with name='ShipPO' and source='SCMShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Source 'SCMShipmentWF' maps to workflow type 'SCMWorkflow.POShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Begin creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'GetActivityName' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Constant' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added operation 'Equals' onto filter list
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found operation 'Equals'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found equals operation for 'Constant' and 'GetActivityName'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Activity filter condition with operation 'GetActivityName' and value 'ShipPO'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added activity event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Created ActivityTrackPoint
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added condition with name 'Name', operator 'Equals', value 'ShipPO'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added event 'Closed'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Copied annotation '7'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Added ActivityTrackPoint to profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : End creating track points for filter
Microsoft BizTalk Bam Interceptors Verbose: 0 : Validating tracking profile has at least a single track point
Microsoft BizTalk Bam Interceptors Verbose: 0 :





Created




5






System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
GenerateASNNumber





6



ASNNumber







System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
ShipPO





7




Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for workflow type 'SCMWorkflow.POShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '5'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '6'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '7'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Finished processing interceptor configuration into WF tracking profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found tracking profile locally to return

Here is my IC.






Created




5






System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
GenerateASNNumber





6



ASNNumber







System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
true


Closed



Equals
Name
ShipPO





7




Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for workflow type 'SCMWorkflow.POShipmentWF'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '5'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '6'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Profile manager updated to keep track of metadata for interception ID '7'
Microsoft BizTalk Bam Interceptors Verbose: 0 : Finished processing interceptor configuration into WF tracking profile
Microsoft BizTalk Bam Interceptors Verbose: 0 : Found tracking profile locally to return

Here is my IC.

Code Snippet

< xml version="1.0" encoding="utf-8" >
<bam:InterceptorConfiguration
xmlns:bam="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"
xmlns:bamwf="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">

<!-- create an event source for the WF Workflow -->
<bam:EventSource Name="SCMPOWF" Technology="WF" Manifest="SCMWorkflow.POApprovalWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
<bam:EventSource Name="SCMShipmentWF" Technology="WF" Manifest="SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>

<bam:BamActivity Name ="SCMCompleteTracking">
<bam:OnEvent Name="MyWorkflowEvent" IsBegin="true" Source="SCMPOWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetWorkflowEvent" />
<bam:Operation Name="Constant">
<bam:Argument>Created</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="POReceivedDate" Type="DATETIME">
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>EventTime</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>

<bam:ContinuationToken>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:ContinuationToken>
</bam:OnEvent>


<!--PO Received... FirstWF-->
<bam:OnEvent Name="POReceived" Source="SCMPOWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>POReceive</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="Quantity" Type="INT">
<bam:Expression>
<bamwf:Operation Name="GetWorkflowProperty">
<bamwf:Argument>Qty</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>

<bam:Update DataItemName="PONumber" Type="NVARCHAR">
<bam:Expression>
<bamwf:Operation Name="GetWorkflowProperty">
<bamwf:Argument>PONumber</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>

<!--PO Approved...FirstWF-->
<bam:OnEvent Name="POApproved" Source="SCMPOWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>POApprove</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<!--<bam:CorrelationID>
<bam:Expression>
<bamwf:Operation Name="GetWorkflowProperty">
<bamwf:Argument>PONumber</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:CorrelationID> -->
<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>


<bam:Update DataItemName="POApprovedDate" Type="DATETIME">
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>EventTime</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>

<!--PO Rejected...FirstWF-->
<bam:OnEvent Name="PORejected" Source="SCMPOWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>POReject</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="PORejectedDate" Type="DATETIME">
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>EventTime</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>

<!--PO Completed...FirstWF-->
<bam:OnEvent Name="POCompleted" Source="SCMPOWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>CompleteApproval</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="POCompleted" Type="DATETIME">
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>EventTime</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>


<!--Second ShipmentWF Start -->
<bam:OnEvent Name="MyWorkflowShipmentEvent" IsEnd="true" Source="SCMShipmentWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetWorkflowEvent" />
<bam:Operation Name="Constant">
<bam:Argument>Created</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>

</bam:OnEvent>

<!--GenerateASNNumber... SecondWF-->
<bam:OnEvent Name="GenerateASNNumber" Source="SCMShipmentWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>GenerateASNNumber</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="ASNNumber" Type="NVARCHAR">
<bam:Expression>
<bamwf:Operation Name="GetWorkflowProperty">
<bamwf:Argument>ASNNumber</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>

<!--ShipPO...SecondWF-->
<bam:OnEvent Name="ShipPO" Source="SCMShipmentWF">
<bam:Filter>
<bam:Expression>
<bamwf:Operation Name="GetActivityName" />
<bam:Operation Name="Constant">
<bam:Argument>ShipPO</bam:Argument>
</bam:Operation>
<bam:Operation Name="Equals" />
</bam:Expression>
</bam:Filter>

<bam:CorrelationID>
<bam:Expression>
<bam:Operation Name="Constant">
<bam:Argument>CorrelationId_</bam:Argument>
</bam:Operation>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>InstanceId</bamwf:Argument>
</bamwf:Operation>
<bam:Operation Name="Concatenate"/>
</bam:Expression>
</bam:CorrelationID>

<bam:Update DataItemName="POShippedDate" Type="DATETIME">
<bam:Expression>
<bamwf:Operation Name="GetContextProperty">
<bamwf:Argument>EventTime</bamwf:Argument>
</bamwf:Operation>
</bam:Expression>
</bam:Update>
</bam:OnEvent>

</bam:BamActivity>
</bam:InterceptorConfiguration>

In BAMPrimaryImportDB, bam_SCMCompleteTracking_Active table I can see values for my second workflow, like ASNNumber, POShippedDate and ActivityId but rest of the column is null.

I'm guessing the problem has to be with with multiple WF and with Correlation. I tried mutiple combination with Interceptor, nothing works.

Could you please take a look and let me know whatever you find ASAP.

Thank you very much for your help.

Umar Shareef

</bam:Operation<></bam:Operation<></bam:Operation<></bam:EventSource<></bam:EventSource<></bam:Operation<></bam:Operation<></bam:Operation<></bam:Operation<></bam:Operation<></bam:EventSource<></bam:EventSource<>





Re: BizTalk Interceptors WF BAM Interceptor

Dwight Goins

With WCF interceptors, I had to create continuations Between OnEvents, especially for Response messages.

For WF interceptors this is not necessary.

In other words for a WCF interceptor, from your First IC onevent to your second IC onevent, you created a continuation, also add the continuation token inside your second IC Onevent to the third IC Onevent, and add it to the third to the fourth, etc unti your complete.

Also, Where are you ending and Flushing your BAM Event stream Is it outside this process, if not, you need an "IsEnd=true" inside the last IC OnEvent that is considered your last event. It's also needed on the first OnEvent that creates the continuation.

Within WF, these continuations are not needed, just keep in mind how your workflow execute, are certain activities closed, executed, loaded, cancelled and etc.

HTH






Re: BizTalk Interceptors WF BAM Interceptor

Umar Shareef

Thanks for your response.

I added the continuation to all the events also IsEnd=true to the last IC event. Here is my IC now. I still dont see anything in the BAM. I'm not sure what is going on. If you can send me a dummy email to reachumar@yahoo.com I can send you my IC and other files, if this is not clear here. Once we find the issue, we can post back here at the discussion group.

Thanks for your help

Umar Shareef

Code Snippet

< xml version="1.0" encoding="utf-8" >

<bam:InterceptorConfiguration

xmlns:bam="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/InterceptorConfiguration"

xmlns:bamwf="http://schemas.microsoft.com/BizTalkServer/2004/10/BAM/WorkflowInterceptorConfiguration">

<!-- create an event source for the WF Workflow -->

<bam:EventSource Name="SCMPOWF" Technology="WF" Manifest="SCMWorkflow.POApprovalWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>

<bam:EventSource Name="SCMShipmentWF" Technology="WF" Manifest="SCMWorkflow.POShipmentWF, SCMWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>

<bam:BamActivity Name ="SCMCompleteTracking">

<bam:OnEvent Name="MyWorkflowEvent" Source="SCMPOWF" IsBegin="true">

<bam:Filter>

<bam:Expression>

<bamwf:Operation Name="GetWorkflowEvent" />

<bam:Operation Name="Constant">

<bam:Argument>Created</bam:Argument>

</bam:Operation>

<bam:Operation Name="Equals" />

</bam:Expression>

</bam:Filter>

<bam:CorrelationID>

<bam:Expression>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

</bam:Expression>

</bam:CorrelationID>

<bam:Update DataItemName="POReceivedDate" Type="DATETIME">

<bam:Expression>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>EventTime</bamwf:Argument>

</bamwf:Operation>

</bam:Expression>

</bam:Update>

<bam:ContinuationToken>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:ContinuationToken>

</bam:OnEvent>

<!--PO Received... FirstWF-->

<bam:OnEvent Name="POReceived" Source="SCMPOWF">

<bam:Filter>

<bam:Expression>

<bamwf:Operation Name="GetActivityName" />

<bam:Operation Name="Constant">

<bam:Argument>POReceive</bam:Argument>

</bam:Operation>

<bam:Operation Name="Equals" />

</bam:Expression>

</bam:Filter>

<bam:CorrelationID>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:CorrelationID>

<bam:Update DataItemName="Quantity" Type="INT">

<bam:Expression>

<bamwf:Operation Name="GetWorkflowProperty">

<bamwf:Argument>Qty</bamwf:Argument>

</bamwf:Operation>

</bam:Expression>

</bam:Update>

<bam:Update DataItemName="PONumber" Type="NVARCHAR">

<bam:Expression>

<bamwf:Operation Name="GetWorkflowProperty">

<bamwf:Argument>PONumber</bamwf:Argument>

</bamwf:Operation>

</bam:Expression>

</bam:Update>

<bam:ContinuationToken>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:ContinuationToken>

</bam:OnEvent>

<!--PO Approved...FirstWF-->

<bam:OnEvent Name="POApproved" Source="SCMPOWF">

<bam:Filter>

<bam:Expression>

<bamwf:Operation Name="GetActivityName" />

<bam:Operation Name="Constant">

<bam:Argument>POApprove</bam:Argument>

</bam:Operation>

<bam:Operation Name="Equals" />

</bam:Expression>

</bam:Filter>

<bam:CorrelationID>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:CorrelationID>

<bam:Update DataItemName="POApprovedDate" Type="DATETIME">

<bam:Expression>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>EventTime</bamwf:Argument>

</bamwf:Operation>

</bam:Expression>

</bam:Update>

<bam:ContinuationToken>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:ContinuationToken>

</bam:OnEvent>

<!--PO Rejected...FirstWF-->

<bam:OnEvent Name="PORejected" Source="SCMPOWF">

<bam:Filter>

<bam:Expression>

<bamwf:Operation Name="GetActivityName" />

<bam:Operation Name="Constant">

<bam:Argument>POReject</bam:Argument>

</bam:Operation>

<bam:Operation Name="Equals" />

</bam:Expression>

</bam:Filter>

<bam:CorrelationID>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:CorrelationID>

<bam:Update DataItemName="PORejectedDate" Type="DATETIME">

<bam:Expression>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>EventTime</bamwf:Argument>

</bamwf:Operation>

</bam:Expression>

</bam:Update>

<bam:ContinuationToken>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:ContinuationToken>

</bam:OnEvent>

<!--PO Completed...FirstWF-->

<bam:OnEvent Name="POCompleted" Source="SCMPOWF">

<bam:Filter>

<bam:Expression>

<bamwf:Operation Name="GetActivityName" />

<bam:Operation Name="Constant">

<bam:Argument>CompleteApproval</bam:Argument>

</bam:Operation>

<bam:Operation Name="Equals" />

</bam:Expression>

</bam:Filter>

<bam:CorrelationID>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:CorrelationID>

<bam:Update DataItemName="POCompleted" Type="DATETIME">

<bam:Expression>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>EventTime</bamwf:Argument>

</bamwf:Operation>

</bam:Expression>

</bam:Update>

<bam:ContinuationToken>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:ContinuationToken>

</bam:OnEvent>

<!--Second ShipmentWF Start -->

<bam:OnEvent Name="MyWorkflowShipmentEvent" Source="SCMShipmentWF">

<bam:Filter>

<bam:Expression>

<bamwf:Operation Name="GetWorkflowEvent" />

<bam:Operation Name="Constant">

<bam:Argument>Created</bam:Argument>

</bam:Operation>

<bam:Operation Name="Equals" />

</bam:Expression>

</bam:Filter>

<bam:CorrelationID>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:CorrelationID>

<bam:ContinuationToken>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:ContinuationToken>

</bam:OnEvent>

<!--GenerateASNNumber... SecondWF-->

<bam:OnEvent Name="GenerateASNNumber" Source="SCMShipmentWF">

<bam:Filter>

<bam:Expression>

<bamwf:Operation Name="GetActivityName" />

<bam:Operation Name="Constant">

<bam:Argument>GenerateASNNumber</bam:Argument>

</bam:Operation>

<bam:Operation Name="Equals" />

</bam:Expression>

</bam:Filter>

<bam:CorrelationID>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:CorrelationID>

<bam:Update DataItemName="ASNNumber" Type="NVARCHAR">

<bam:Expression>

<bamwf:Operation Name="GetWorkflowProperty">

<bamwf:Argument>ASNNumber</bamwf:Argument>

</bamwf:Operation>

</bam:Expression>

</bam:Update>

<bam:ContinuationToken>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:ContinuationToken>

</bam:OnEvent>

<!--ShipPO...SecondWF-->

<bam:OnEvent Name="ShipPO" Source="SCMShipmentWF" IsEnd="true">

<bam:Filter>

<bam:Expression>

<bamwf:Operation Name="GetActivityName" />

<bam:Operation Name="Constant">

<bam:Argument>ShipPO</bam:Argument>

</bam:Operation>

<bam:Operation Name="Equals" />

</bam:Expression>

</bam:Filter>

<bam:CorrelationID>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:CorrelationID>

<bam:Update DataItemName="POShippedDate" Type="DATETIME">

<bam:Expression>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>EventTime</bamwf:Argument>

</bamwf:Operation>

</bam:Expression>

</bam:Update>

<bam:ContinuationToken>

<bam:Expression>

<bam:Operation Name="Constant">

<bam:Argument>CorrelationId_</bam:Argument>

</bam:Operation>

<bamwf:Operation Name="GetContextProperty">

<bamwf:Argument>InstanceId</bamwf:Argument>

</bamwf:Operation>

<bam:Operation Name="Concatenate"/>

</bam:Expression>

</bam:ContinuationToken>

</bam:OnEvent>

</bam:BamActivity>

</bam:InterceptorConfiguration>






Re: BizTalk Interceptors WF BAM Interceptor

Dwight Goins

You don't need the continuation token on the last IC onEvent. This is even is ending the activity, you are not continuing it.

Also make sure when you update you IC file, you do a force:true switch on the bm deploy-interceptor command. This will force an overwrite of the current IC file.

HTH






Re: BizTalk Interceptors WF BAM Interceptor

Umar Shareef

I removed the continuation from the last IC Onevent. Deployed it, still no use.

As far as deploying IC, whenever I make any modification, I'm completely removing using remove-interceptor and then deploying it again.

I still dont see any records in BAM.

May be I dont understand how this Continuation & Correlation is working, if there are any documentation or samples on this please forward it to me.

Thanks

-Umar






Re: BizTalk Interceptors WF BAM Interceptor

Dwight Goins

What is your tracing reporting

Are your workflows running, and did it start the BAM Tracking Service

such as:

Code Snippet

using (WorkflowRuntime wr = new WorkflowRuntime())

{

string strCn = server=.;Integrated Security=SSPI; Initial Catalog=BAMPrimaryImport;";

BamTrackingService bts = new BamTrackingService(strCn, 30000);

wr.AddService(bts);

wr.StartRuntime();

}

or within a Configuration file

How are the subsequent workflows being created Within the initial Activity or outside within another process






Re: BizTalk Interceptors WF BAM Interceptor

Umar Shareef

I dont see any issues in the tracing. It does finds Tracking profile.

Yes my Workflows are running. I can see output the console window. Yes I've added BAM Tracking Service to WF runtime through code. Remember if I have only one workflow it works fine. I'm able to track data in BAM.

I'm calling second WF from my first WF using InvokeWorkflow shape.

Thanks

Umar






Re: BizTalk Interceptors WF BAM Interceptor

Dwight Goins

Most of the time the reason for the Interceptor not writing out to the EventStream is because of the Filter, and Expression within the OnEvent.

As per the help documentation, certain Experssions can be used together, and others can not. When you use a Filter for a WF Interceptor that does not contains an GetActivityEvent, the WF Interceptor looks for "closed" activities. Which means that in an invoking scenario, these events won't run until after the other activities have completed, thus you have missed the events. In you sample I used the Executing - GetActivityEvent, so that I could filter based off of running activities.

HTH.






Re: BizTalk Interceptors WF BAM Interceptor

Dwight Goins

I going to post parts of our email conversation here, for those interested:

Thank you so much for your example. I deployed and tested it, it works fine.

I'm just starting to learn WF, infact this is my first WF solution. But I kind of understood why my solution wasn't working, its because workflow instance ids are not same between different workflows. So you created dependency property CorrelationID on the following WFs and passing that value from first WF instance id. Is my understanding correct If so, with that understanding I tried to do the same changes to my solution, unfortunately I'm still not seeing data in BAM. I'm not really sure what I'm doing wrong. I'm attaching my solution.

Thanks

Umar Shareef

My Reply:

Only changed the IsEnd=ĦħtrueĦħ on the very first Event that creates the continuation.

Also changed some coding inside the program.cs file for easier testing purposes. Then I waited and let it run. This project is kind of weird.

In anycase itĦŻs easier to track WF using Ħ°ClosedĦħ events and Ħ°ExecutingĦħ events using the GetActivityEvent than using the others.

Umar's issue was two fold, there was no correlation between continuations, and the Filter was listening for events that ran after the workflow was at its termination, when trying record activities being invoked using the invoking activity. While the Invoked Activity was processing, the invoker workflow blocked and waited until the end of the invoked execution. When the invoked completed, so did the workflow, thus missing not giving the beginning filter OnEvent chance to do anything.

This is my best guess as to why- it kind of makes sense. Maybe some MS folks can help here

HTH






Re: BizTalk Interceptors WF BAM Interceptor

Umar Shareef

Thank you so much for your continued help.
As you mentioneed the problem was 2 fold, for the first problem I added Ħ°Console.ReadLine();Ħħ in Program.cs (Host) as a last line right after waitHandle.WaitOne();. This gives time which allows first WF to complete. This works for demo, but I need to come up with a solution/logic which waits for the WFs to complete.
Here is the explanation why I had to do this.
There is a bug inside Program.cs. You have an event handler on workflowRuntime.WorkflowTerminated that will call waitHandle.Set(). This will effectively terminate your application when the first workflow instance completes. However, since you are using InvokeWorkflowActivity, there are actually two workflows and so your applicaton is actually terminating before the first workflow has a chance to complete and the tracking data written into BAM.