Showing posts with label Troubleshooting Adapters. Show all posts
Showing posts with label Troubleshooting Adapters. Show all posts

Tuesday, August 21, 2007

Where are the IIS and HTTPERR log files?

You can often diagnose HTTP adapter issues by using the IIS and HTTPERR log files supplied by the IIS server. By default, the IIS log files can be found in %WinDir%\system32\LogFiles\W3SVC1\ and the HTTPERR log files can be found in %WinDir%\system32\LogFiles\HTTPERR.

Note

The HTTPERR log file can only be found on a Windows Server 2003-based computer.

Source: Microsoft

HTTP Adapter

The HTTP adapter is used to exchange information between Microsoft BizTalk Server and an application by means of the HTTP protocol. The HTTP adapter consists of two adapters—a receive adapter and a send adapter. The HTTP receive adapter is a Microsoft Internet Information Services (IIS) Internet Server Application Programming Interface (ISAPI) extension that the IIS process hosts, and it controls the receive locations that use the HTTP adapter. The HTTP send adapter controls the send ports that use the HTTP adapter.

Source: Microsoft

Base EDI Adapter

The Microsoft Base EDI adapter provides comprehensive electronic data interchange (EDI) messaging functionality to complement the XML messaging capabilities of BizTalk Server 2006.

Source: Microsoft

File Adapter

The File adapter is in charge of reading and writing messages from files to and from the BizTalk Server MessageBox database.

Source: Microsoft

FTP Adapter

The FTP adapter exchanges data between an FTP server and Microsoft BizTalk Server, and allows for the integration of vital data stored on a variety of platforms with line-of-business applications.

Source: Microsoft

FTP receive adapter fails to publish message if receive pipeline processing time exceeds server time-out

Problem

A message received via the FTP adapter is not published to the MessageBox database. You may see errors similar to the following in the Application log for the BizTalk Server computer:

Event Type:Error

Event Source:BizTalk Server 2006

Event Category:BizTalk Server 2006

Event ID:5719

Date:6/30/2006

Time:12:08:55 PM

User:N/A

Computer:BIZTALKSERVER

Description:

There was a failure executing the receive pipeline: "Microsoft.BizTalk.DefaultPipelines.PassThruReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "Pipeline " Receive Port: "ReceivePort1" URI: "ftp://FTPSERVER:21/*.txt" Reason: Unable to receive the file "file.txt " from the FTP server.

and

Event Type:Warning

Event Source:BizTalk Server 2006

Event Category:BizTalk Server 2006

Event ID:5740

Date:6/30/2006

Time:12:08:56 PM

User:N/A

Computer:BIZTALKSERVER

Description:

The adapter "FTP" raised an error message. Details "Unable to receive the file "file.txt " from the FTP server. ".

Cause

The time taken to complete pipeline processing exceeds the FTP connection time-out.

Resolution

Use one of the following methods to mitigate this problem:

· Increase the connection time-out value. Set the idle time-out value on the FTP server to be at least the amount of the time it takes to process the file.

· Use the Temporary Folder feature on the receive location. In this case, the FTP adapter copies the file to the temporary folder (typically the local disk). It typically takes less time to copy the file to the local disk than to run the message through the pipeline and persist it to the MessageBox database, which effectively reduces the idle time.

Source: Microsoft

Configuring an FTP Adapter to Work with Legacy Hosts

This topic addresses what you need to know to facilitate communication between the FTP adapter and a mainframe computer. For more information, review the documentation for your specific operating system.

Note
You cannot use the temporary folder function when sending files to an IBM or AS400 host. Any input into this field will be ignored.

Important
The following information is provided as a guide and should not be substituted for information found in AS400 or IBM documentation.


MVS

AS400

There are three methods of naming files and defining their paths when transferring files to and from an AS400 system:

Source: Microsoft

You receive "Failure occurred in parsing the remote folder listing" error when you try to retrieve documents from or send documents to an FTP server

Problem

When you try to retrieve documents from or send documents to an FTP server by using the Microsoft BizTalk Server 2006 FTP adapter, you receive an error message that is similar to the following:

A failure occurred in parsing the remote folder listing.

Cause

You may receive this error message if the following conditions are true:

· The receive handler or the send handler for the BizTalk Server 2006 FTP adapter is configured to use a firewall mode of Passive.

· The target FTP server does not permit passive connections.

Resolution

To resolve this behavior, use one of the following methods:

· Configure the receive handler or the send handler, or both, for the BizTalk Server 2006 FTP adapter to use a firewall mode of Active.

· Configure the target FTP server to permit passive connections.

The FTP adapter can be used to connect to FTP servers on systems ranging from Solaris and Linux to AS/400.

Source: Microsoft

Why does the FTP adapter duplicate or lose data?

If the FTP adapter retrieves a document from the FTP server that is still being written to by the host application, the retrieved document will be incomplete. If the FTP adapter retrieves an incomplete copy of the original document, data duplication or data loss may occur in the following scenarios:

· If the original document is still being written to the FTP server by the host application, the FTP adapter cannot delete the document and will retrieve another copy of the document at the next polling interval that is configured for the receive location. This behavior causes document duplication to occur.

· If the host application has finished writing the document to the FTP server, the document will be deleted. This behavior will cause data loss to occur.

To avoid this behavior, use one of the following methods:

· Configure the host application to write to a temporary folder on the same hard disk as the public FTP folder and to periodically move the contents of the temporary folder to the FTP folder. The temporary folder should be on the same hard disk as the public FTP folder to make sure that the move operation is atomic. An atomic operation is an operation that is functionally indivisible. If you write data to the public FTP folder by using the BizTalk Server 2006 FTP adapter, you can do this by specifying a Temporary Folder property in the FTP Transport Properties dialog box when you configure a send port.

· Configure the FTP receive location to operate within a service window when the host application is not writing data to the FTP server. You can specify the service window when you configure the receive location properties.

Source: Microsoft

How do I enable logging (FTP Adapter) ?

You can enable and configure logging by using the Log folder option in the FTP Transport Properties dialog box when configuring a receive location or send port with the FTP transport type.

Depending upon your FTP server software, you may be able to configure logging for the FTP servers connected to by the BizTalk FTP adapter. Check the documentation for your server to assess your options.

Source: Microsoft

Why isn't my file being picked up by the File receive adapter?

Read-only or system files are not picked up by the File receive adapter and will not be published to the BizTalk Server MessageBox database. Usually the problem is due to a read-only file that was originally copied from a read-only source like a CD-ROM. Files copied from these locations remain read-only until you use Windows Explorer or the MS-DOS attrib.exe utility to turn off the read-only attribute.

If you turn off the read-only flag on a file in a receive location, the File receive adapter will process it.

The File receive adapter also does not pick up files for which it has insufficient rights and files that cannot be exclusively locked. To correct these problems, verify the security settings of the receive location and ensure that any files present are not being held by other processes.

One way to peek at what is happening with your files is to use the Microsoft FileMon utility.

To use FileMon to diagnose File adapter errors

1. Download the FileMon utility from www.sysinternals.com.

2. Install the FileMon utility on the server that hosts the folder or share that is being read from or written to by the File adapter.

3. Launch the FileMon utility and apply a filter to monitor only file accesses that are being made by the BizTalk Host instance that the file adapter handlers are running in (for example, BTSNTSvc.exe).

4. Run the scenario that caused the problem.

5. Disable file monitoring in the FileMon utility, and then save the generated log file to disk.

6. Review the generated log file for any errors.

Source: Microsoft

How to Configure a Base EDI Receive Location

You can set Base EDI receive location adapter variables in the BizTalk Server Administration console.

Note
Before completing the following procedure you must have already added a receive port.

To configure variables for a Base EDI receive location

  1. In the BizTalk Server Administration console, expand BizTalk Server 2006 Administration, expand BizTalk Group, expand Applications, and then expand the application you want to create a receive location in.

  2. In the BizTalk Server Administration console, click the Receive Port node in the left pane. Then in the right pane, right-click the receive port that is associated with an existing receive location or that you want to associate with a new receive location, and then click Properties.

  3. In the Receive Port Properties dialog box, in the left pane, select the Receive Locations option, and in the right pane, double-click an existing receive location or click New to create a new receive location.

  4. In the Receive Location Properties dialog box, in the Transport section next to Type, select EDI from the drop-down list, and then click Configure to configure the transport properties for the receive location.

  5. In the EDI Transport Properties dialog box, do the following:

    Adapter properties

    In this section, select the logical address that you associate with the receive location.

    Use this To do this

    EDI Address (URI)

    The EDI subsystem uses logical addresses to determine the sender and recipient of a document. To determine the sender of a document, the EDI subsystem takes the logical address of the sender of a message, creates a URI from that, and tries to find the receive location record with that URI.

    Note
    The URI for a send port or receive location cannot exceed 256 characters..

    Flags

    In this section, specify the functional acknowledgment settings for this trading partner.

    Use this To do this

    Functional Acknowledgements

    The EDI transport requires you to select a setting for functional acknowledgements.

    Options:

    • Always
    • Never

    Supported document types

    In this section, specify whether to accept unlisted document types.

    Use this To do this

    Accept all unlisted documents

    Specify whether the EDI adapter will accept documents that are not in the list of supported document types at this receive location.

    Options:

    • No
    • Yes

    Supported document types for EDIFACT

    Select from the list of supported EDIFACT document types.

    Supported document types for X-12

    Select from the list of supported X-12 document types.

  6. Click OK.

  7. In the Receive Location Properties dialog box, enter the appropriate values to complete the configuration of the receive location, and then click OK to save the settings.

You receive a "Cant make a connection to BizTalk for document" error message when you send a message through a send port that uses the EDI transport

Problem

When you send a message through a send port that uses the EDI transport, you receive an error similar to the following in the event log:

Event Type: Error Event Source: EDI Subsystem Event Category: BizTalk Server 2006 Event ID: 23 Date: MM/DD/YYYY Time: 4:55:34 PM User: N/A Computer: BIZTALKSERVERDescription: Error encountered: ERROR (1030), interchangenr 10037 : COM_SendMessage(): Cant make a connection to BizTalk for document #10037. Errorcode is -1030 ()

Cause

This can occur when you have not configured and enabled a receive location that uses the EDI transport.

Resolution
To resolve this issue, configure and then enable a receive location that is bound to the EDI transport.

Source: Microsoft

Thursday, July 19, 2007

You receive a "Could not connect EDI Subsystem (StartDatabase returned -2) to Database" error message, and the BizTalk Base EDI service does not start

Problem

When you try to start the BizTalk Base EDI service, you receive an error message that is similar to "Could not connect EDI Subsystem (StartDatabase returned -2) to Database" in the Application log and the Base EDI service does not start.

Cause

This problem occurs if the following conditions are true:

· The BizTalk Base EDI database is on a remote computer that is running Microsoft SQL Server 2000 or Microsoft SQL Server 2005.

· The SQL Server client tools are not installed on the computer that is running the Base EDI service.

Resolution

To resolve this problem, install the SQL Server client tools on the computer that is running the BizTalk Base EDI service. After you install the SQL Server client tools, you can successfully start the BizTalk Base EDI service.

Note

SQL Server client tools can be found on the SQL Server installation CD.

Source: Microsoft

You receive an error in the event log similar to "index was outside the bounds of the array" when validating or sending an EDI document

Problem

When you try to validate an EDI document or when you try to send an EDI document in Microsoft BizTalk Server 2006, an Error event that resembles the following may be logged in the event log:

Event Type: ErrorEvent Source: EDI TransmitterEvent Category: BizTalk Server 2006Event ID: 27Description:Transfer of message(s) to EDI Subsystem failed. Index was outside the bounds of the array.

Cause

This issue occurs if one of the following conditions is true:

· The BizTalk Base EDI service and the BizTalk Server Host service do not use the same logon credentials.

· The logon account for the BizTalk Base EDI service and for the BizTalk Server Host service does not have the permissions that are required to access the BizTalkEDIDb database and the Configuration database.

· The user who configured the EDI adapter is not a member of the EDI Subsystem Users group and of the BizTalk Server Administrators group.

Resolution

The user account that is configured as the logon account for the BizTalk Server Host service must be a member of the EDI Subsystem Users group. If the user account that is configured as the logon account for the BizTalk Server Host service is not a member of the EDI Subsystem Users group, the EDI transmitter cannot connect to the EDI subsystem because of insufficient permissions. Therefore, the Error event in the event log states that there is a transmission failure.

To resolve, try one of the following methods:

· Verify the service logon credentials. Verify that the BizTalk Base EDI service and the BizTalk Server Host service use the same logon credentials.

· Verify the database permissions. Verify that the user account that is configured as the logon account for the BizTalk Base EDI service and for the BizTalk Server Host service has the permissions that are required to access the BizTalkEDIDb database and the Configuration database.

· Verify the group membership. Verify that the user who configured the EDI adapter is a member of the EDI Subsystem Users group and of the BizTalk Server Administrators group.

Source: Microsoft

Friday, July 6, 2007

Debugging Stored Procedures (SQL Adapter)

Programming errors in stored procedures can often be more easily identified by stepping through the code one statement at a time. This gives you the opportunity to not only verify stored procedure arguments and variables, but also check data in tables, error values, and other variables that are affected by the stored procedure.

To debug a SQL Server stored procedure using Visual Studio

1. Open a BizTalk project using Visual Studio 2005.

2. On the Visual Studio View menu, click Server Explorer.

3. In the Server Explorer pane, right-click Data Connections and then click Add Connection.

4. On the Choose Data Source screen, click Microsoft SQL Server and then click Continue.

5. On the Add Connection screen, choose a server name from the drop-down list or type a server name, and choose a logon method. If you choose Use SQL Server Authentication, supply a User name and Password. Choose a database to connect to, and then click OK.

6. In the Server Explorer pane, expand the database and then expand Stored Procedures to expose the stored procedures.

7. Right-click one of the stored procedures and then click Step Into Stored Procedure.

8. On the Run Stored Procedure screen, enter values for each of your stored procedure arguments.

9. Step through the stored procedure using F10, breakpoints, and the other tools available in Visual Studio 2005.


Source: Microsoft

Wednesday, July 4, 2007

You receive errors with event ID 5724 or 5719 when using the Base EDI adapter

Problem

When you use the adapter, you receive an error that is similar to one of the following messages when using party resolution together with an EDI receive location:

· The Messaging Engine is dropping the message due to authentication failure. The message came from Receive Location URL "EDI://1234567:ZZ:1234567".

· There was a failure executing the receive pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive" Source: "Microsoft.BizTalk.Pipeline.Components" Receive Location: "EDI://1234567:ZZ:1234567" Reason: There was an authentication failure. "The party corresponding to the inbound message cannot be identified".

Cause

The issue occurs because the BizTalk Server Base EDI adapter does not support party resolution.

Resolution

Create a custom pipeline or orchestration component to scan the InboundTransportLocation context property value and the ExplorerOM object model to enumerate through a list of parties to find a party that has an EDI qualifier value that matches.

Source: Microsoft