BUG: MSMQMessage getClass() Unmappable Using JActiveX

ID: Q196577

The information in this article applies to:

SYMPTOMS

When generating Component Object Model (COM) wrapper classes for Microsoft Message Queue (MSMQ) J++ generates the following error comment in MSMQMessage.java:

   // getClass UNMAPPABLE: Name is a keyword or conflicts with another
      member.
   // public int getClass();

CAUSE

This occurs because getClass() is a method of the Class class and therefore the typelib generator will not generate this function.

RESOLUTION

Following are two methods you can use to resolve this error:

   Add the following code to IMSMQMessage.java:

     /** @com.method(vtoffset=4, dispid=7, type=PROPGET, name="Class",
     name2="getClass")
     @com.parameters([type=I4] return) */
     public int getMsgClass();

   Add the following code to MSMQMessage.java:

      // getClass UNMAPPABLE: Name is a keyword or conflicts with another
         member.
      // public native int getClass();
      // /** @com.method() */
      public native int getMsgClass();

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

MORE INFORMATION

Steps to Reproduce Behavior

Microsoft Visual J++ 1.x:

From the Tools menu, select the Java Type Library Wizard and then import MSMQ.

For Visual J++ 6.x:

From the Project menu, select Add COM Wrapper and then import MSMQ.

Additional query words:

Version           : WINNT:1.0
Platform          : winnt
Issue type        : kbbug

Last Reviewed: December 9, 1998