ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » MQ Explorer v6 weirdness

Post new topic  Reply to topic
 MQ Explorer v6 weirdness « View previous topic :: View next topic » 
Author Message
RogerLacroix
PostPosted: Sun Mar 12, 2006 11:48 pm    Post subject: MQ Explorer v6 weirdness Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3264
Location: London, ON Canada

Attention IBM Hurlsey,

Setup: Windows XP Pro SP2 & WMQ v6.0.1.0 (Fresher Pack 01)

Over the last couple of weeks, I have been desperately trying to get the client-side security exit of MQAUSX to work with MQ Explorer v6 (Eclipse based).

No matter what I tried, I could not get the Java client-side security exit to work with MQ Explorer v6. I tried every combination using Client Channel Table to get it to work but with no luck.

What I don't understand is for IBM's WBIMB Eclipse Tool Kit it is a very simple setup. But for an IBM supplied MQ tool, it is extremely complicated. (Yes, irony.)

Anyway, while reading the MQ docs for a while, I found a new Java class called: MQExternalSecurityExit. This got me thinking why would anyone want to call a native DLL or shared object from a Java program when you could just as easily call a Java written security exit. Then it hit me, maybe IBM added MQExternalSecurityExit to have backwards compatibility between MQ Explorer v5.* (MMC) and MQ Explorer v6 (Eclipse).

So I put in the name of the Windows DLL for the MQAUSX client-side security exit in the Client Channel Table that MQ Explorer v6 was using and bingo, it worked (sort of). Being surprised that it worked is an understatement. It is fine that IBM has attempted to add backwards compatibility but what about using a simple Java written security exit like WBIMB Eclipse Tool Kit?

Now to my 'sort of worked' comment: Here's how the MQAUSX client-side security exits works under programs like MO71 (MQMon), MQ Explorer v5 or other programs using Client Channel Table:

- When the client-side security exit is invoked for MQXR_SEC_MSG it receives a buffer with DataLength of 250 and AgentBufferLength of 3968.
- The client-side exit responds by updating the AgentBuffer with 300 bytes. (There is code to allocate a new buffer if the AgentBuffer is too small.)

Here's what happens under MQ Explorer v6.
- When the client-side security exit is invoked for MQXR_SEC_MSG it receives a buffer with DataLength of 250 and AgentBufferLength of 250.
- The client-side exit responds by allocating a new buffer of 300 bytes, fills the new buffer with the data and it sets ExitResponse2 with MQXR2_USE_EXIT_BUFFER.
- The server-side receives the new AgentBuffer, processes it but when it responds, the client crashes. I don't mean my client code because it is not invoked again but rather the MQ client library.

At first I thought it was my code. So, I set the conditional test to also always allocate a new buffer and set ExitResponse2 with MQXR2_USE_EXIT_BUFFER. This works perfectly with MO71, MQ Explorer v5, etc... but always fails with MQ Explorer v6.

Does anyone at IBM have any idea what the problem is? (Other than a bug in MQExternalSecurityExit). I supposed I going to have to open a PMR?

Of course in a really weird twist, if I setup the server-side and client-side to have the first buffer to be 300 bytes (or larger) then everything works perfectly (because the client-side can then reuse the AgentBuffer).

But this solution is totally impractical because that would mean my customers would have to upgrade all client-side and server-side at the same time. (Plus sending 50 bytes of filler is a really stupid idea anyway!) Several customers have rather large number of installations of MQAUSX and if I propose this, then they would want someone's head. (And I really don't think it should be mine!!)

So, I only see one easy way out. Does anyone at IBM know how to use a Java written client-side security exit with MQ Explorer v6?? (Documented or undocumented? - Supported or unsupported? At this point, I really don't care.) Please someone at IBM give me a tip, trick, etc..

Regards,
Roger Lacroix
Capitalware Inc.
http://www.capitalware.biz/
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
mbw
PostPosted: Mon Mar 13, 2006 6:14 am    Post subject: Reply with quote

Novice

Joined: 09 Dec 2004
Posts: 11

With regards to getting Java exits to work with the explorer...

Say the classname of the exit is com.mycompany.myexit then put this exit in the c:\program files\ibm\websphere mq\exits as a unzipped class file - with the correct directory structure. So.

c:\program files\ibm\websphere mq\exits\com\mycompnay\myexit.class

JARed up classfiles won't work. Specify the exit as per before on the channel


As to the other problems - I'd recommend a PMR.
Back to top
View user's profile Send private message
mbw
PostPosted: Mon Mar 13, 2006 6:16 am    Post subject: Reply with quote

Novice

Joined: 09 Dec 2004
Posts: 11

CSD1 required as well.
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Mon Mar 13, 2006 12:04 pm    Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3264
Location: London, ON Canada

Hi,
mbw wrote:
CSD1 required as well.

I'm guessing that you mean Refresh Pack 1?? If so, I posted the following line at the top of my posting:
RogerLacroix wrote:
Setup: Windows XP Pro SP2 & WMQ v6.0.1.0 (Fresher Pack 01)

Secondly, I have already tried this but I always get:
Quote:
An unexpected error (50013) has occurred. (AMQ4999)


Are you sure MQ Explorer v6.0.1 on Windows supports Java client-side security exits? (in an expanded format that is.)

Any other ideas?

Regards,
Roger Lacroix
Capitalware Inc.
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
RogerLacroix
PostPosted: Mon Mar 13, 2006 11:18 pm    Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3264
Location: London, ON Canada

Hi,

Based on your comments and an email from someone else, I decided to beat my head against the wall and try and figure out what could be causing the 'unexpected error'.

After many hours I found another bug in MQ Explorer v6. If you have any 'internationalization code' (i18n) in your Java client-side security exit, then MQ Explorer v6 (Eclipse) will crash with the unexpected error.

Everything related to MQ Explorer v6 and MQ security has been a real disappointment to me during my testing cycles. Someone at IBM needs to seriously review how "security setup" has been implemented in MQ Explorer v6.

I (Capitalware) pride myself on delivering products that support the world and not just North American. I am very disappointed that I had to create another parallel Java class with the i18n code stripped out to make it work.

The specific code that causes the unexpected error is:
Code:
labels = ResourceBundle.getBundle("biz.capitalware.mqausx.lang/Lang", locale);

I don't know if it is an Eclipse or MQ Explorer plugin code problem and I don't really care, this needs to be fixed by IBM. And yes, this Java security exit works just fine with other programs like: WBIMB Eclipse Tool Kit, MQ Visual Edit, etc...

Well at least I have a solution, half-@ss solution, but a solution. (Yes, my frustration is showing.)

Regards,
Roger Lacroix
Capitalware Inc.
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » MQ Explorer v6 weirdness
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.