locked
Send Reply Activity Giving Timeout Issues. RRS feed

  • Question

  • Hello,

    I have a Workflow containing a receive and send reply activity. Between these two activities I have a while loop that makes a WCF call to a service. There is no errors when I run this Workflow as it is. The error only appears when I add a Delay activity with a delay of 00:00:10.

    This is when the WCF Test Client will throw the following error:

    "The request channel timed out while waiting for a reply after 00:00:59.9969997. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout."

    The WCF call will continue, but the reply from the SendReply activity will not execute.

    Is there a way to increase the timeout for the SendReply activity? Or is there some other problem that I overlooked?

    Thanks in advance!

    Leon

    Thursday, June 10, 2010 8:13 AM

Answers

  • Hi,

    You have to configure your workflow service with your own bindingconfiguration.

      <services>
       <service name="Service1">
        <endpoint address="" binding="basicHttpBinding" contract="IService" bindingConfiguration="binding1">
        </endpoint>
       </service>
      </services>
      <bindings>
       <basicHttpBinding>
        <binding name="binding1" closeTimeout="00:20:00" openTimeout="00:20:00" receiveTimeout="00:20:00" sendTimeout="00:20:00"/>
       </basicHttpBinding>
      </bindings>

    In my xamlx file,  the service's configurationName is "Service1",  and ServiceContractName is "IService".  I overwrite it with a new service config. You have to replace these 2 names with yours.

    And also, you have to change the timeout value in config file in WCF Test client.

    Thanks,

    • Marked as answer by Andrew_Zhu Thursday, June 17, 2010 6:20 AM
    Friday, June 11, 2010 7:43 AM

All replies

  • Hi,

    Change the SendTimeout in the defined binding of the workflow service in the application configuration file.

     

    Thursday, June 10, 2010 8:24 AM
  • Hi,

    This is a copy of my bindings in the web.config file.

    <bindings>
       <basicHttpBinding>
        <binding name="BasicHttpBinding_IService1" closeTimeout="00:02:00"
         openTimeout="00:02:00" receiveTimeout="00:10:00" sendTimeout="00:02:00"
         allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
         maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
         messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
         useDefaultWebProxy="true">
         <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
         <security mode="None">
          <transport clientCredentialType="None" proxyCredentialType="None"
           realm="" />
          <message clientCredentialType="UserName" algorithmSuite="Default" />
         </security>
        </binding>
       </basicHttpBinding>
       <wsHttpBinding>
        <binding name="WSHttpBinding_IService1" closeTimeout="00:02:00"
         openTimeout="00:02:00" receiveTimeout="00:10:00" sendTimeout="00:02:00"
         bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
         maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
         textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
         <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
         <reliableSession ordered="true" inactivityTimeout="00:10:00"
          enabled="false" />
         <security mode="Message">
          <transport clientCredentialType="Windows" proxyCredentialType="None"
           realm="" />
          <message clientCredentialType="Windows" negotiateServiceCredential="true"
           algorithmSuite="Default" />
         </security>
        </binding>
       </wsHttpBinding>
      </bindings>

    I have changed the SendTimeout but it does not seem to help.

    Please advice,

    Leon

    Thursday, June 10, 2010 8:46 AM
  • Hi,

    You have to configure your workflow service with your own bindingconfiguration.

      <services>
       <service name="Service1">
        <endpoint address="" binding="basicHttpBinding" contract="IService" bindingConfiguration="binding1">
        </endpoint>
       </service>
      </services>
      <bindings>
       <basicHttpBinding>
        <binding name="binding1" closeTimeout="00:20:00" openTimeout="00:20:00" receiveTimeout="00:20:00" sendTimeout="00:20:00"/>
       </basicHttpBinding>
      </bindings>

    In my xamlx file,  the service's configurationName is "Service1",  and ServiceContractName is "IService".  I overwrite it with a new service config. You have to replace these 2 names with yours.

    And also, you have to change the timeout value in config file in WCF Test client.

    Thanks,

    • Marked as answer by Andrew_Zhu Thursday, June 17, 2010 6:20 AM
    Friday, June 11, 2010 7:43 AM
  • Hello,

    I've added that but the timeout is still occuring. I do not think it is the service that is throwing the timeout error but one of the "SendReply" activity within the workflow. Between a "Receive" activity and the "SendReply" I've added a delay that takes about 100 seconds. and the timeout is occuring at the 60 second mark. So I believe the timeout error is caused by this "SendReply" activity not giving back a response to the "Receive" activity due to the delay.

    Is there anyway to increase the wait time of the "Receive" activity?

    Thanks in advance!

    Leon

    Tuesday, June 22, 2010 1:07 AM
  • Hi, could you post your server side config and xamlx file?

    Tuesday, June 22, 2010 3:26 AM
  • web.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
     <system.web>
      <compilation debug="true" targetFramework="4.0" />
     </system.web>
     <system.serviceModel>
      
      <services>
       <service name="Service1">
        <endpoint address="" binding="basicHttpBinding" contract="IService" bindingConfiguration="binding1">
        </endpoint>
       </service>
      </services>
    
      <bindings>
        
       <basicHttpBinding>
    
        <binding name="binding1" closeTimeout="00:20:00" openTimeout="00:20:00" receiveTimeout="00:20:00" sendTimeout="00:20:00"/>
        
        <binding name="BasicHttpBinding_IService1" closeTimeout="00:02:00"
         openTimeout="00:02:00" receiveTimeout="00:10:00" sendTimeout="00:02:00"
         allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
         maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
         messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
         useDefaultWebProxy="true">
         <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
         <security mode="None">
          <transport clientCredentialType="None" proxyCredentialType="None"
           realm="" />
          <message clientCredentialType="UserName" algorithmSuite="Default" />
         </security>
        </binding>
       </basicHttpBinding>
       <wsHttpBinding>
        <binding name="WSHttpBinding_IService1" closeTimeout="00:02:00"
         openTimeout="00:02:00" receiveTimeout="00:10:00" sendTimeout="00:02:00"
         bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
         maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
         textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
         <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
         <reliableSession ordered="true" inactivityTimeout="00:10:00"
          enabled="false" />
         <security mode="Message">
          <transport clientCredentialType="Windows" proxyCredentialType="None"
           realm="" />
          <message clientCredentialType="Windows" negotiateServiceCredential="true"
           algorithmSuite="Default" />
         </security>
        </binding>
       </wsHttpBinding>
      </bindings>
      <client>
       <endpoint address="http://localhost:8080/FALWCFService/Service1.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1"
        contract="IService1" name="BasicHttpBinding_IService1" />
       <endpoint address="http://localhost/WCFBridge260510/WcfServiceLibrary1.Service1.svc"
        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IService1"
        contract="IService1" name="WSHttpBinding_IService1">
        <identity>
         <dns value="localhost" />
        </identity>
       </endpoint>
      </client>
      <behaviors>
       <serviceBehaviors>
        <behavior>
         
         
         <!-- To enable Persistence-->
         <sqlWorkflowInstanceStore
              connectionString="Data Source=SINWSGH73608QQ\SQLEXPRESS;Initial Catalog=PersistenceDatabase;Integrated Security=True;Async=true"
              instanceCompletionAction="DeleteAll"/>
    
         <!--Set the TimeToUnload to 0 to force the WF to be unloaded. To have a durable delay, the workflow needs to be unloaded-->
         <workflowIdle timeToUnload="0"/>
         
    
         <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
         <serviceMetadata httpGetEnabled="true"/>
         <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
         <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
       </serviceBehaviors>
      </behaviors>
      <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
     </system.serviceModel>
     <system.webServer>
      <modules runAllManagedModulesForAllRequests="true"/>
     </system.webServer>
    </configuration>
    

    Tuesday, June 22, 2010 8:17 AM
  • xaml file

    <WorkflowService mc:Ignorable="sap" ConfigurationName="Service1" sap:VirtualizedContainerService.HintSize="1450,1558" Name="Service1" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/servicemodel" xmlns:av="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:g="clr-namespace:GetLotDtls;assembly=GetLotDtls" xmlns:g1="clr-namespace:GetWorkflowId;assembly=GetWorkflowId" xmlns:gf="clr-namespace:GetLotDtls.FALWCFTestSite;assembly=GetLotDtls" xmlns:gfa="clr-namespace:GetLotDtls.FALWCFTestSite.Activities;assembly=GetLotDtls" xmlns:gw="clr-namespace:GetLotDtls.WCFYODAServiceBridge;assembly=GetLotDtls" xmlns:gw1="clr-namespace:GetLotDtls.WCFYODABridgeService;assembly=GetLotDtls" xmlns:gwa="clr-namespace:GetLotDtls.WCFYODABridgeService.Activities;assembly=GetLotDtls" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mda="clr-namespace:Microsoft.Data.Activities;assembly=Microsoft.Data.Activities" xmlns:mv="clr-namespace:Microsoft.VisualBasic;assembly=System" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:p="http://tempuri.org/" xmlns:p1="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:s1="clr-namespace:System;assembly=System" xmlns:s2="clr-namespace:System;assembly=System.Xml" xmlns:s3="clr-namespace:System;assembly=System.Core" xmlns:s4="clr-namespace:System;assembly=System.ServiceModel" xmlns:sa="clr-namespace:System.Activities;assembly=System.Activities" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=System" xmlns:scg1="clr-namespace:System.Collections.Generic;assembly=System.ServiceModel" xmlns:scg2="clr-namespace:System.Collections.Generic;assembly=System.Core" xmlns:scg3="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:sd="clr-namespace:System.Data;assembly=System.Data" xmlns:sl="clr-namespace:System.Linq;assembly=System.Core" xmlns:srs="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization" xmlns:srs1="clr-namespace:System.Runtime.Serialization;assembly=mscorlib" xmlns:srs2="clr-namespace:System.Runtime.Serialization;assembly=System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" xmlns:ssa="clr-namespace:System.ServiceModel.Activities;assembly=System.ServiceModel.Activities" xmlns:ssx="clr-namespace:System.ServiceModel.XamlIntegration;assembly=System.ServiceModel" xmlns:st="clr-namespace:System.Text;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <p1:Flowchart sad:XamlDebuggerXmlReader.FileName="C:\Users\lianweih\Documents\C# Projects\FALWFPrototype\GetLotDtls\Copy of Service1.xamlx" sap:VirtualizedContainerService.HintSize="1420,1528" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces">
      <p1:Flowchart.Variables>
       <p1:Variable x:TypeArguments="CorrelationHandle" Name="handle1" />
       <p1:Variable x:TypeArguments="x:Int32" Name="LotNum" />
       <p1:Variable x:TypeArguments="x:String" Name="LotExist" />
       <p1:Variable x:TypeArguments="x:String" Name="LotResult" />
       <p1:Variable x:TypeArguments="CorrelationHandle" Name="handle2" />
       <p1:Variable x:TypeArguments="x:String" Name="UserName" />
       <p1:Variable x:TypeArguments="g:LogInDtls" Default="[New LogInDtls()]" Name="LogInDtls" />
       <p1:Variable x:TypeArguments="x:String" Name="UserExist" />
       <p1:Variable x:TypeArguments="CorrelationHandle" Name="contextHandle" />
       <p1:Variable x:TypeArguments="g:ConfirmDtls" Default="[New ConfirmDtls()]" Name="ConfirmDtls" />
       <p1:Variable x:TypeArguments="gw1:EventStructure" Default="[New EventStructure()]" Name="YFMessage" />
       <p1:Variable x:TypeArguments="gw1:EventStructure" Name="YFMessageReply" />
       <p1:Variable x:TypeArguments="x:String" Name="Channel" />
       <p1:Variable x:TypeArguments="x:String" Name="IFXName" />
       <p1:Variable x:TypeArguments="x:String" Name="Message" />
       <p1:Variable x:TypeArguments="gw1:FalTestRequest" Default="[New FALTestRequest()]" Name="FALTestRequest" />
       <p1:Variable x:TypeArguments="gw1:FalTestReply" Name="FALTestReply" />
       <p1:Variable x:TypeArguments="x:String" Name="ConfirmTerminate" />
       <p1:Variable x:TypeArguments="g:YodaChnlDtls" Default="[New YodaChnlDtls()]" Name="YodaChnlDtls" />
       <p1:Variable x:TypeArguments="s:Guid" Name="WorkflowId" />
       <p1:Variable x:TypeArguments="x:String" Name="StrWorkflowId" />
       <p1:Variable x:TypeArguments="x:String" Name="Choice" />
      </p1:Flowchart.Variables>
      <sap:WorkflowViewStateService.ViewState>
       <scg3:Dictionary x:TypeArguments="x:String, x:Object">
        <x:Boolean x:Key="IsExpanded">False</x:Boolean>
        <av:Point x:Key="ShapeLocation">270,2.5</av:Point>
        <av:Size x:Key="ShapeSize">60,75</av:Size>
        <av:PointCollection x:Key="ConnectorLocation">300,77.5 300,107.5 240,107.5 240,125</av:PointCollection>
        <x:Double x:Key="Width">1406</x:Double>
        <x:Double x:Key="Height">1492</x:Double>
       </scg3:Dictionary>
      </sap:WorkflowViewStateService.ViewState>
      <p1:Flowchart.StartNode>
       <x:Reference>__ReferenceID11</x:Reference>
      </p1:Flowchart.StartNode>
      <p1:FlowStep x:Name="__ReferenceID1">
       <sap:WorkflowViewStateService.ViewState>
        <scg3:Dictionary x:TypeArguments="x:String, x:Object">
         <av:Point x:Key="ShapeLocation">430,174</av:Point>
         <av:Size x:Key="ShapeSize">200,51</av:Size>
         <av:PointCollection x:Key="ConnectorLocation">530,225 530,252.5 670,252.5 670,192.5 730,192.5 730,222.5</av:PointCollection>
        </scg3:Dictionary>
       </sap:WorkflowViewStateService.ViewState>
       <p1:Sequence DisplayName="Assign LogInDtls" sap:VirtualizedContainerService.HintSize="200,51">
        <sap:WorkflowViewStateService.ViewState>
         <scg3:Dictionary x:TypeArguments="x:String, x:Object">
          <x:Boolean x:Key="IsExpanded">True</x:Boolean>
         </scg3:Dictionary>
        </sap:WorkflowViewStateService.ViewState>
        <p1:Assign sap:VirtualizedContainerService.HintSize="242,58">
         <p1:Assign.To>
          <p1:OutArgument x:TypeArguments="x:String">[UserName]</p1:OutArgument>
         </p1:Assign.To>
         <p1:Assign.Value>
          <p1:InArgument x:TypeArguments="x:String">[LogInDtls.UserName]</p1:InArgument>
         </p1:Assign.Value>
        </p1:Assign>
        <p1:Assign sap:VirtualizedContainerService.HintSize="242,58">
         <p1:Assign.To>
          <p1:OutArgument x:TypeArguments="x:Int32">[LotNum]</p1:OutArgument>
         </p1:Assign.To>
         <p1:Assign.Value>
          <p1:InArgument x:TypeArguments="x:Int32">[LogInDtls.LotNum]</p1:InArgument>
         </p1:Assign.Value>
        </p1:Assign>
        <p1:Assign sap:VirtualizedContainerService.HintSize="242,58">
         <p1:Assign.To>
          <p1:OutArgument x:TypeArguments="x:String">[Choice]</p1:OutArgument>
         </p1:Assign.To>
         <p1:Assign.Value>
          <p1:InArgument x:TypeArguments="x:String">[LogInDtls.Choice]</p1:InArgument>
         </p1:Assign.Value>
        </p1:Assign>
       </p1:Sequence>
       <p1:FlowStep.Next>
        <p1:FlowSwitch x:TypeArguments="x:String" x:Name="__ReferenceID3" Expression="[Choice]" sap:VirtualizedContainerService.HintSize="60,75">
         <sap:WorkflowViewStateService.ViewState>
          <scg3:Dictionary x:TypeArguments="x:String, x:Object">
           <av:Point x:Key="ShapeLocation">700,222.5</av:Point>
           <av:Size x:Key="ShapeSize">60,75</av:Size>
           <av:PointCollection x:Key="1Connector">700,260 670,260 670,270 260,270</av:PointCollection>
           <av:PointCollection x:Key="2Connector">760,260 773,260 773,260 822.5,260</av:PointCollection>
          </scg3:Dictionary>
         </sap:WorkflowViewStateService.ViewState>
         <p1:FlowStep x:Key="2" x:Name="__ReferenceID7">
          <sap:WorkflowViewStateService.ViewState>
           <scg3:Dictionary x:TypeArguments="x:String, x:Object">
            <av:Point x:Key="ShapeLocation">822.5,215</av:Point>
            <av:Size x:Key="ShapeSize">255,90</av:Size>
            <av:PointCollection x:Key="ConnectorLocation">950,305 950,335 940,335 940,355</av:PointCollection>
           </scg3:Dictionary>
          </sap:WorkflowViewStateService.ViewState>
          <SendReply DisplayName="SendReplyToReceive" sap:VirtualizedContainerService.HintSize="255,90">
           <SendReply.Request>
            <Receive x:Name="__ReferenceID4" CanCreateInstance="True" sap:VirtualizedContainerService.HintSize="255,90" OperationName="GetLogInDtls" ServiceContractName="p:IService">
             <Receive.CorrelationInitializers>
              <RequestReplyCorrelationInitializer CorrelationHandle="[handle1]" />
              <QueryCorrelationInitializer CorrelationHandle="[contextHandle]">
               <XPathMessageQuery x:Key="key1">
                <XPathMessageQuery.Namespaces>
                 <ssx:XPathMessageContextMarkup>
                  <x:String x:Key="xg0">http://schemas.datacontract.org/2004/07/GetLotDtls</x:String>
                  <x:String x:Key="xgSc">http://tempuri.org/</x:String>
                 </ssx:XPathMessageContextMarkup>
                </XPathMessageQuery.Namespaces>sm:body()/xgSc:GetLogInDtls/xgSc:value/xg0:UserName</XPathMessageQuery>
              </QueryCorrelationInitializer>
             </Receive.CorrelationInitializers>
             <ReceiveParametersContent>
              <p1:OutArgument x:TypeArguments="g:LogInDtls" x:Key="value">[LogInDtls]</p1:OutArgument>
             </ReceiveParametersContent>
            </Receive>
           </SendReply.Request>
           <SendParametersContent>
            <p1:InArgument x:TypeArguments="x:String" x:Key="Result">Multiple Processing Selected.</p1:InArgument>
           </SendParametersContent>
          </SendReply>
          <p1:FlowStep.Next>
           <p1:FlowStep x:Name="__ReferenceID8">
            <sap:WorkflowViewStateService.ViewState>
             <scg3:Dictionary x:TypeArguments="x:String, x:Object">
              <av:Point x:Key="ShapeLocation">812.5,355</av:Point>
              <av:Size x:Key="ShapeSize">255,90</av:Size>
              <av:PointCollection x:Key="ConnectorLocation">940,445 940,475 940,494.5</av:PointCollection>
             </scg3:Dictionary>
            </sap:WorkflowViewStateService.ViewState>
            <Receive x:Name="__ReferenceID0" CorrelatesWith="[contextHandle]" DisplayName="MultipleFALRequest" sap:VirtualizedContainerService.HintSize="255,90" OperationName="PubAndSend" ServiceContractName="p:IService">
             <Receive.CorrelatesOn>
              <XPathMessageQuery x:Key="key1">
               <XPathMessageQuery.Namespaces>
                <ssx:XPathMessageContextMarkup>
                 <x:String x:Key="xgSc">http://tempuri.org/</x:String>
                </ssx:XPathMessageContextMarkup>
               </XPathMessageQuery.Namespaces>sm:body()/xgSc:PubAndSend/xgSc:Name</XPathMessageQuery>
             </Receive.CorrelatesOn>
             <ReceiveParametersContent>
              <p1:OutArgument x:TypeArguments="gw1:FalTestRequest" x:Key="FALTestRequest">[FALTestRequest]</p1:OutArgument>
              <p1:OutArgument x:TypeArguments="x:String" x:Key="Name">[UserName]</p1:OutArgument>
             </ReceiveParametersContent>
            </Receive>
            <p1:FlowStep.Next>
             <p1:FlowStep x:Name="__ReferenceID6">
              <sap:WorkflowViewStateService.ViewState>
               <scg3:Dictionary x:TypeArguments="x:String, x:Object">
                <av:Point x:Key="ShapeLocation">840,494.5</av:Point>
                <av:Size x:Key="ShapeSize">200,51</av:Size>
                <av:PointCollection x:Key="ConnectorLocation">940,545.5 940,575.5 940,592.5</av:PointCollection>
               </scg3:Dictionary>
              </sap:WorkflowViewStateService.ViewState>
              <p1:Sequence sap:VirtualizedContainerService.HintSize="200,51">
               <p1:Sequence.Variables>
                <p1:Variable x:TypeArguments="CorrelationHandle" Name="__handle1" />
               </p1:Sequence.Variables>
               <sap:WorkflowViewStateService.ViewState>
                <scg3:Dictionary x:TypeArguments="x:String, x:Object">
                 <x:Boolean x:Key="IsExpanded">True</x:Boolean>
                </scg3:Dictionary>
               </sap:WorkflowViewStateService.ViewState>
               <p1:Sequence sap:VirtualizedContainerService.HintSize="554,378">
                <sap:WorkflowViewStateService.ViewState>
                 <scg3:Dictionary x:TypeArguments="x:String, x:Object">
                  <x:Boolean x:Key="IsExpanded">True</x:Boolean>
                 </scg3:Dictionary>
                </sap:WorkflowViewStateService.ViewState>
                <p1:Assign sap:VirtualizedContainerService.HintSize="242,58">
                 <p1:Assign.To>
                  <p1:OutArgument x:TypeArguments="x:String">[YFMessage.CHANNELNAME]</p1:OutArgument>
                 </p1:Assign.To>
                 <p1:Assign.Value>
                  <p1:InArgument x:TypeArguments="x:String">[FALTestRequest.ChannelName]</p1:InArgument>
                 </p1:Assign.Value>
                </p1:Assign>
                <p1:Assign sap:VirtualizedContainerService.HintSize="242,58">
                 <p1:Assign.To>
                  <p1:OutArgument x:TypeArguments="x:String">[YFMessage.IFX_NAME]</p1:OutArgument>
                 </p1:Assign.To>
                 <p1:Assign.Value>
                  <p1:InArgument x:TypeArguments="x:String">[FALTestRequest.IFX_NAME]</p1:InArgument>
                 </p1:Assign.Value>
                </p1:Assign>
                <p1:Assign sap:VirtualizedContainerService.HintSize="242,58">
                 <p1:Assign.To>
                  <p1:OutArgument x:TypeArguments="x:String">[YFMessage.TEST_STRING]</p1:OutArgument>
                 </p1:Assign.To>
                 <p1:Assign.Value>
                  <p1:InArgument x:TypeArguments="x:String">[FALTestRequest.MessageString]</p1:InArgument>
                 </p1:Assign.Value>
                </p1:Assign>
               </p1:Sequence>
               <p1:Parallel sap:VirtualizedContainerService.HintSize="554,86">
                <gwa:PublishYodaMessage EndpointConfigurationName="WSHttpBinding_IService1" sap:VirtualizedContainerService.HintSize="200,40" PublishYodaMessageResult="[YFMessageReply]" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces" eventStructure="[YFMessage]" />
                <gwa:SendFalRequest EndpointConfigurationName="WSHttpBinding_IService1" sap:VirtualizedContainerService.HintSize="200,40" SendFalRequestResult="[FALTestReply]" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces" falTestRequest="[FALTestRequest]" />
               </p1:Parallel>
               <p1:While sap:VirtualizedContainerService.HintSize="554,422">
                <p1:While.Variables>
                 <p1:Variable x:TypeArguments="x:Int32" Default="0" Name="Counter" />
                </p1:While.Variables>
                <p1:While.Condition>[Counter &lt; 10]</p1:While.Condition>
                <p1:Sequence sap:VirtualizedContainerService.HintSize="438,306">
                 <sap:WorkflowViewStateService.ViewState>
                  <scg3:Dictionary x:TypeArguments="x:String, x:Object">
                   <x:Boolean x:Key="IsExpanded">True</x:Boolean>
                  </scg3:Dictionary>
                 </sap:WorkflowViewStateService.ViewState>
                 <gwa:SendFalRequest EndpointConfigurationName="WSHttpBinding_IService1" sap:VirtualizedContainerService.HintSize="242,22" SendFalRequestResult="[FALTestReply]" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces" falTestRequest="[FALTestRequest]" />
                 <p1:Assign sap:VirtualizedContainerService.HintSize="242,58">
                  <p1:Assign.To>
                   <p1:OutArgument x:TypeArguments="x:Int32">[Counter]</p1:OutArgument>
                  </p1:Assign.To>
                  <p1:Assign.Value>
                   <p1:InArgument x:TypeArguments="x:Int32">[Counter + 1]</p1:InArgument>
                  </p1:Assign.Value>
                 </p1:Assign>
                 <p1:Delay Duration="00:00:02" sap:VirtualizedContainerService.HintSize="242,22" />
                </p1:Sequence>
               </p1:While>
              </p1:Sequence>
              <p1:FlowStep.Next>
               <p1:FlowDecision x:Name="__ReferenceID10" Condition="[Choice = &quot;2&quot;]" sap:VirtualizedContainerService.HintSize="60,75">
                <sap:WorkflowViewStateService.ViewState>
                 <scg3:Dictionary x:TypeArguments="x:String, x:Object">
                  <av:Point x:Key="ShapeLocation">910,592.5</av:Point>
                  <av:Size x:Key="ShapeSize">60,75</av:Size>
                  <av:PointCollection x:Key="TrueConnector">910,630 840,630 840,675</av:PointCollection>
                 </scg3:Dictionary>
                </sap:WorkflowViewStateService.ViewState>
                <p1:FlowDecision.True>
                 <p1:FlowStep x:Name="__ReferenceID9">
                  <sap:WorkflowViewStateService.ViewState>
                   <scg3:Dictionary x:TypeArguments="x:String, x:Object">
                    <av:Point x:Key="ShapeLocation">712.5,675</av:Point>
                    <av:Size x:Key="ShapeSize">255,90</av:Size>
                   </scg3:Dictionary>
                  </sap:WorkflowViewStateService.ViewState>
                  <SendReply Request="{x:Reference __ReferenceID0}" DisplayName="SendReplyToMultipleFALRequest" sap:VirtualizedContainerService.HintSize="255,90">
                   <SendParametersContent>
                    <p1:InArgument x:TypeArguments="x:String" x:Key="Result">["Process Successful." + vbNewLine + "Session Ended."]</p1:InArgument>
                   </SendParametersContent>
                  </SendReply>
                 </p1:FlowStep>
                </p1:FlowDecision.True>
               </p1:FlowDecision>
              </p1:FlowStep.Next>
             </p1:FlowStep>
            </p1:FlowStep.Next>
           </p1:FlowStep>
          </p1:FlowStep.Next>
         </p1:FlowStep>
        </p1:FlowSwitch>
       </p1:FlowStep.Next>
      </p1:FlowStep>
      <p1:FlowStep x:Name="__ReferenceID5">
       <sap:WorkflowViewStateService.ViewState>
        <scg3:Dictionary x:TypeArguments="x:String, x:Object">
         <av:Point x:Key="ShapeLocation">440,129</av:Point>
         <av:Size x:Key="ShapeSize">200,22</av:Size>
         <av:PointCollection x:Key="ConnectorLocation">640,140 679,140</av:PointCollection>
        </scg3:Dictionary>
       </sap:WorkflowViewStateService.ViewState>
       <g1:GetWorkflowInstanceId sap:VirtualizedContainerService.HintSize="200,22" Result="[WorkflowId]" />
       <p1:FlowStep.Next>
        <p1:FlowStep x:Name="__ReferenceID2">
         <sap:WorkflowViewStateService.ViewState>
          <scg3:Dictionary x:TypeArguments="x:String, x:Object">
           <av:Point x:Key="ShapeLocation">679,111</av:Point>
           <av:Size x:Key="ShapeSize">242,58</av:Size>
           <av:PointCollection x:Key="ConnectorLocation">800,169 530,169 530,174</av:PointCollection>
          </scg3:Dictionary>
         </sap:WorkflowViewStateService.ViewState>
         <p1:Assign sap:VirtualizedContainerService.HintSize="242,58">
          <p1:Assign.To>
           <p1:OutArgument x:TypeArguments="x:String">[StrWorkflowId]</p1:OutArgument>
          </p1:Assign.To>
          <p1:Assign.Value>
           <p1:InArgument x:TypeArguments="x:String">[WorkflowId.ToString()]</p1:InArgument>
          </p1:Assign.Value>
         </p1:Assign>
         <p1:FlowStep.Next>
          <x:Reference>__ReferenceID1</x:Reference>
         </p1:FlowStep.Next>
        </p1:FlowStep>
       </p1:FlowStep.Next>
      </p1:FlowStep>
      <x:Reference>__ReferenceID2</x:Reference>
      <x:Reference>__ReferenceID3</x:Reference>
      <p1:FlowStep x:Name="__ReferenceID11">
       <sap:WorkflowViewStateService.ViewState>
        <scg3:Dictionary x:TypeArguments="x:String, x:Object">
         <av:Point x:Key="ShapeLocation">112.5,125</av:Point>
         <av:Size x:Key="ShapeSize">255,90</av:Size>
         <av:PointCollection x:Key="ConnectorLocation">367.5,170 397.5,170 397.5,140 440,140</av:PointCollection>
        </scg3:Dictionary>
       </sap:WorkflowViewStateService.ViewState>
       <x:Reference>__ReferenceID4</x:Reference>
       <p1:FlowStep.Next>
        <x:Reference>__ReferenceID5</x:Reference>
       </p1:FlowStep.Next>
      </p1:FlowStep>
      <x:Reference>__ReferenceID6</x:Reference>
      <x:Reference>__ReferenceID7</x:Reference>
      <x:Reference>__ReferenceID8</x:Reference>
      <x:Reference>__ReferenceID9</x:Reference>
      <x:Reference>__ReferenceID10</x:Reference>
     </p1:Flowchart>
    </WorkflowService>

    Tuesday, June 22, 2010 8:25 AM