none
Why WCF service is down during BizTalk/WCF batch job execution. RRS feed

Answers

  • Your question is somewhat limited with information about what the problem is, but I assume that BizTalk receives many messages at the same time (batch) and either sends these messages to a WCF Service or uses such a Service in an Orchestration in a Solicit-Response manner. I also assume that when this Service is hit multiple times by BizTalk in a short period the Service becomes unavailable for others and even calls from BizTalk fails and needs to be retried. 

    Often in a BizTalk flow, a Service might be the bottleneck because it only allows a certain number of concurrent calls. There are two "switches" in BizTalk you can turn regarding this.

    - Pr. default BizTalk will open a max of two concurrent connections pr. BizTalk Server. You can limit this to 1 by adding this to the BizTalk Config File:

    <configuration>
      <system.net>
        <connectionManagement>
          <add address="[the service URL]" maxconnection="1" />
        </connectionManagement>
      </system.net>
    </configuration>

    - It is also possible to tell a BizTalk Group to only call the Service once pr. BizTalk Group. This requires that you set your Send Port to "Ordered Delivery". It is not the most recommended set up because Ordered Delivery has some other impacts (for one Tracking of an Ordered Delivery Send Port is not optimal).

    Morten la Cour

    • Marked as answer by Pengzhen Song Friday, June 28, 2013 8:09 AM
    Monday, June 3, 2013 5:28 AM

All replies

  • Your question is somewhat limited with information about what the problem is, but I assume that BizTalk receives many messages at the same time (batch) and either sends these messages to a WCF Service or uses such a Service in an Orchestration in a Solicit-Response manner. I also assume that when this Service is hit multiple times by BizTalk in a short period the Service becomes unavailable for others and even calls from BizTalk fails and needs to be retried. 

    Often in a BizTalk flow, a Service might be the bottleneck because it only allows a certain number of concurrent calls. There are two "switches" in BizTalk you can turn regarding this.

    - Pr. default BizTalk will open a max of two concurrent connections pr. BizTalk Server. You can limit this to 1 by adding this to the BizTalk Config File:

    <configuration>
      <system.net>
        <connectionManagement>
          <add address="[the service URL]" maxconnection="1" />
        </connectionManagement>
      </system.net>
    </configuration>

    - It is also possible to tell a BizTalk Group to only call the Service once pr. BizTalk Group. This requires that you set your Send Port to "Ordered Delivery". It is not the most recommended set up because Ordered Delivery has some other impacts (for one Tracking of an Ordered Delivery Send Port is not optimal).

    Morten la Cour

    • Marked as answer by Pengzhen Song Friday, June 28, 2013 8:09 AM
    Monday, June 3, 2013 5:28 AM
  • Thanks for your reply and Is there any other way to do?

    by dropping a request xml file in the Request folder of each module

    Tuesday, June 4, 2013 4:01 AM