none
Intermittently first Idoc from SAP fails RRS feed

  • Question

  • Hi,

    We have a non-reproducable error happening from time to time where the first Idoc from our SAP system fails and ends up in SM58(SAP), Biztalk restarts the host and the rest of the Idocs are recieved without problem. Only warnings are seen in the Biztalk event log, see below:

    Log Name:      Application
    Source:        BizTalk Server
    Date:          11/28/2012 1:15:22 PM
    Event ID:      5740
    Task Category: BizTalk Server
    Level:         Warning
    Keywords:      Classic
    User:          N/A
    Computer:      
    Description:
    The adapter "WCF-Custom" raised an error message. Details "The WCF service host at address sap://CLIENT=100;LANG=EN;@a/XXXX/?ListenerGwServ=XXXX&ListenerGwHost=XXXX&ListenerProgramId=XXXX has faulted and as a result no more messages can be received on the corresponding receive location. To fix the issue, BizTalk Server will automatically attempt to restart the service host.".
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="BizTalk Server" />
        <EventID Qualifiers="32960">5740</EventID>
        <Level>3</Level>
        <Task>1</Task>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2012-11-28T12:15:22.000000000Z" />
        <EventRecordID>3322567</EventRecordID>
        <Channel>Application</Channel>
        <Computer></Computer>
        <Security />
      </System>
      <EventData>
        <Data>WCF-Custom</Data>
        <Data>The WCF service host at address sap://CLIENT=100;LANG=EN;@a/XXXX/?ListenerGwServ=XXXX&amp;ListenerGwHost=XX&amp;ListenerProgramId=XXXX has faulted and as a result no more messages can be received on the corresponding receive location. To fix the issue, BizTalk Server will automatically attempt to restart the service host.</Data>
      </EventData>
    </Event>


    Log Name:      Application
    Source:        BizTalk Server
    Date:          11/28/2012 1:15:22 PM
    Event ID:      5740
    Task Category: BizTalk Server
    Level:         Warning
    Keywords:      Classic
    User:          N/A
    Computer:     
    Description:
    The adapter "WCF-Custom" raised an error message. Details "Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_INVALID_HANDLE. AdapterErrorMessage=An exception has occurred on the listener while executing RfcWaitForRequest..
       at Microsoft.ServiceModel.Channels.Common.Channels.AdapterReplyChannel.EndTryReceiveRequest(IAsyncResult result, RequestContext& requestContext)
       at Microsoft.Adapters.Internal.LayeredChannelBindingElement.LayeredInboundChannel`1.System.ServiceModel.Channels.IReplyChannel.EndTryReceiveRequest(IAsyncResult result, RequestContext& context)
       at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult result, RequestContext& requestContext)".
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="BizTalk Server" />
        <EventID Qualifiers="32960">5740</EventID>
        <Level>3</Level>
        <Task>1</Task>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2012-11-28T12:15:22.000000000Z" />
        <EventRecordID>3322568</EventRecordID>
        <Channel>Application</Channel>
        <Computer></Computer>
        <Security />
      </System>
      <EventData>
        <Data>WCF-Custom</Data>
        <Data>Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_INVALID_HANDLE. AdapterErrorMessage=An exception has occurred on the listener while executing RfcWaitForRequest..
       at Microsoft.ServiceModel.Channels.Common.Channels.AdapterReplyChannel.EndTryReceiveRequest(IAsyncResult result, RequestContext&amp; requestContext)
       at Microsoft.Adapters.Internal.LayeredChannelBindingElement.LayeredInboundChannel`1.System.ServiceModel.Channels.IReplyChannel.EndTryReceiveRequest(IAsyncResult result, RequestContext&amp; context)
       at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult result, RequestContext&amp; requestContext)</Data>
      </EventData>
    </Event>


    Log Name:      Application
    Source:        BizTalk Server
    Date:          11/28/2012 1:15:22 PM
    Event ID:      8112
    Task Category: BizTalk Server
    Level:         Information
    Keywords:      Classic
    User:          N/A
    Computer:      
    Description:
    The WCF service host at address sap://CLIENT=100;LANG=EN;@a/XXXX/?ListenerGwServ=XXX&ListenerGwHost=XXXX&ListenerProgramId=XXXX was successfully restarted, therefore the associated receive location can now receive messages.
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="BizTalk Server" />
        <EventID Qualifiers="16576">8112</EventID>
        <Level>4</Level>
        <Task>1</Task>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2012-11-28T12:15:22.000000000Z" />
        <EventRecordID>3322569</EventRecordID>
        <Channel>Application</Channel>
        <Computer></Computer>
        <Security />
      </System>
      <EventData>
        <Data>The WCF service host at address sap://CLIENT=100;LANG=EN;@a/XXXX/?ListenerGwServ=XXXX&amp;ListenerGwHost=XXXX&amp;ListenerProgramId=XXXX was successfully restarted, therefore the associated receive location can now receive messages.</Data>
      </EventData>
    </Event>

    The problem only appears when we receive from SAP. We use Biztalk 2010 CU5, BizTalk Adapter Pack 2010 CU2, , WCF-custom with sapBinding, with SAP client SDK 7.20 patchlevel 5 against SAP ECC 6.0 EHP5. We have one ProgramId for each Idoc type we receive, approximately 30 ProgramIds. The SAP system is hosted externally, Biztalk server internally and there is a firewall inbetween. We have checked the keep alive settings on the firewall and the SAP OS and they should not be the problem.

    The feeling we get is that when we have not received an Idoc for a couple of days or so on a ProgramId the connection is somehow 'lost', although SAP can see the registered ProgramId on the gateway and the Biztalk receive location is enabled. ReceiveTimeout is set to 24.20:31:23.6470000 as recommended. After the first Idoc fails the rest is received without problem.

    Has anyone else experienced the same problem? Any suggestions are welcome? :-)
    Friday, February 8, 2013 7:28 AM

All replies

  • Hi, 

    I am sorry I didn't experience this issue before. In order to resolve your issue, could you explain your issue more clearly? That will help us continue.

    Best wishes,


    Catherine
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Monday, February 11, 2013 9:43 AM
    Moderator
  • Hi,

    I thought I was thorough :-) so please tell me what more information you need? It is always the first Idoc that fails on a ProgramId, the others are processed just fine. We have the correct ReceiveTimeout that in other cases seem to have been the problem.

    Kind regards

    Viveca


    • Edited by Viveca Tuesday, February 12, 2013 6:19 AM
    Tuesday, February 12, 2013 6:18 AM