HOWTO: How To Troubleshoot RPC Errors

ID: Q197814

The information in this article applies to:

SUMMARY

When trying to invoke a method in a Microsoft Transaction Server (MTS) component, a remote procedure call (RPC) error occurs. A number is received that is less than descriptive. The steps in the MORE INFORMATION section describe how to find the error message associated with the error number. In addition, the article includes several troubleshooting steps that may help to resolve a RPC connectivity issue.

MORE INFORMATION

Decoding Error Message

You can use the Error Lookup tool or the C:\Program Files\DevStudio\VC\include\Winerror.h file to get the associated error message. If the error number is in decimal form, convert the error to hex using the Calculator in the Accessories group (make sure that under the view menu of the Calculator select Scientific).

1. Start Visual C++ 5.0.

2. From the Tools menu, choose Error Lookup.

3. Enter an error number. For example: 800706BE

4. The following text returns:

      The remote procedure call failed.

5. If the Error Lookup tool fails to find the error, Open the Winerror.h
   file that comes with Visual C++ 5.0. The top of the Winerror.h file
   explains how to translate the error number.

6. In this example, the error number is 800706BE. Translate this value to
   binary which is:

      10000000000001110000011010111110.

7. The binary value is broken into parts that yields the following
   information:

      10  - The error is actually a Warning.

       0  - Customer Code Flag.

       0  - Reserve Bit

   111 binary = 7 decimal - Facility Code is a FACILITY_WIN32 code.
   0000011010111110 binary= 1726 decimal ? Code

8. Search the Winerror.h on the error code of 1726 and you will find the
   following information:

      // 
      // MessageId: RPC_S_CALL_FAILED
      // 
      // MessageText:
      // 
      //  The remote procedure call failed.
      // 
      #define RPC_S_CALL_FAILED                1726L

Troubleshooting RPC

1. Make sure that the remote procedure call (RPC) services are started on

   the server computer. You can do this by opening Control Panel, double-
   clicking Services, and checking to make sure the Remote Procedure Call
   (RPC) Service and Remote Procedure Call (RPC) Locator services are
   running and set to start automatically.

2. If the operating system is Windows 95, Distributed Component Object
   Model (DCOM) must be installed. You can downloaded this file from the
   following Web site:

      http://www.microsoft.com/ 

   NOTE: DCOM is not included in the released version of Windows 95.

3. Make sure that DCOM is configured properly on the MTS server and the
   client machine. Follow these steps:

     a. Run Dcomcnfg.exe.

     b. Select the Default Property tab.

     c. Select the Enable Distributed COM on this computer check box.

     d. From the Default Authentication Level, select None for testing.
        Normally this should be set to a level that is equal to or higher
        than the packages authentication level.

     e. From the Default Impersonation drop-down list box, select
        Impersonate. MTS requires Identify or Impersonate for this setting.

4. For testing, change the package authentication to match the DCOMCNFG
   settings on the MTS Server by using the following steps:

      a. Run Transaction Server Explorer.

      b. Right-click the Package that is being used for testing.

      c. Select Properties from the drop-down menu.

      d. Select the Security Tab.

      e. Clear the "Enable authorization checking" check box.

      f. Click OK.

5. Try using the component used for testing again. If the RPC error still
   occurs proceed with step 6.

6. Use the information in the following Microsoft Knowledge Base Exchange
   article to test the RPC communication:

      ARTICLE-ID: Q167260
      TITLE     : XCLN: How to Use RPCPing to Test RPC Communication

Additional query words:
Keywords          : kbMTS100 kbMTS200 
Version           : WINNT:1.0,2.0
Platform          : winnt
Issue type        : kbhowto

Last Reviewed: December 29, 1998